Yate 开发向导(整理版)涂远东   tuyuandong@gmail.com1.Yate 框架设计Yate 的设计是为了提供一个可扩展性的电话引擎,试图以最简简洁的代码,在扩展所需功能与性能、稳定性之间达到最佳平衡。  Yate 设计分为三大部分:(1) 引擎( Engine )该引擎已 Yate C++ 类为基础,将把所有模块组件连接在一起,上图描述了各组
转载 2021-08-18 10:43:57
231阅读
1. 用Jbuilder2005建一个新的Project :NewMenu 2. 在Project创建一个Web Module :menu,在项目中添加Struts1.2.4,Log4j,Velocity1.4,Commons,JSTL,Struts-Menu2.3支持. 3. 修改Struts-Config文件如下图: 4. 在WEB-INF下添加menu-config.xml文件
原创 2008-09-28 16:43:58
1596阅读
我们完成了第一个阶段,让我们总结一下目前为止我们完成的工作。我们规划要实现的需求安装了yii framework生成了一个应用的框架设计并建立了数据库修改程序的配置文件以连接到数据库为文章和评论生成基本的CRUD操作完善了用户验证对于这个新项目,在第一个阶段中大多数的时间我们花费在了setp1和4上。尽管生成代码对于数据表有着完善的CRUD功能,在实际应用中也他们往往需要被修改。因此在接下来的两个...
转载 2010-02-24 21:43:00
59阅读
2评论
下载链接:https://pan.baidu.com/s/1s-TPS-ti7MUTrXZCNCmYuA密码:pryp
原创 2018-05-17 09:06:11
81阅读
Yii安装最后更新 2009-07-15 23:08:20在这一节中,我们用Yii创建了一个应用的基本框架作为起点。为方便起见,我们假定WEB服务的根目录为/wwwroot。对应的访问地址为http://www.example.com/安装我们首先安装Yii framework。从yiiframework获取
转载 2010-02-24 21:38:00
62阅读
一个WEB应用产品,需要对各种错误记录复杂的日志。在我们的blog应用中,我们将记录在运行中产生的错误,这些错误可能是因为程序本身的错误或者是用户错误的应用,记录这些错误可以帮助我们进一步改善我们的blog应用。我们通过如下修改应用的配置文件以使错误日志生效returnarray('preload'=>array('log'),......'components'=>array('lo...
转载 2010-02-24 21:52:00
57阅读
2评论
我们准备开发的blog是个单用户系统。系统的用户应具有以下功能:使用的频率系统应显示最新的评论列...
转载 2010-02-24 21:38:00
52阅读
在我们blog中,文章可能显示在列表中或者单个显示。前一个由list动作(action)处理,后一个由show动作(action)处理。在本节中我们按照需求修改完善这两个操作完善显示操作显示操作由PostController的actionShow()方法处理数据,由视图文件blog/protected/views/post/show.php展示页面。下面是PostController中的显示操作的
转载 2010-02-24 21:45:00
21阅读
我们的blog应用要区分系统用户和访客的不同身份。所以需要实现用户的验证部分。或许你已经看到系统提供了一个用户验证,通过检查admin和demo的用户名密码。在这节中我们修改这段代码,让用户验证根据User表里的数据进行验证。用户验证是由实现了IUserIdentity接口的的一个类来实现的。我们的应用架构中使用类UserIdentity来实现此目标.该文件存放在/wwwroot/blog/pro
转载 2010-02-24 21:42:00
43阅读
文章管理主要涉及到把文章列表在管理页面显示,和删除操作。分别由admin操作和delete操作实现。由yiic生成的代码并不需要太大的修改。下面我们主要解释这两个操作是怎么实现的。在table中显示文章列表admin操作在表格中显示所有的文章的列表(包括发布的和没有发布的)。表格有许多列,并提供分页。下面是PostController中的actionAdmin()方法  public functi
转载 2010-02-24 21:46:00
33阅读
评论的管理包括修改、删除和发布。这些操作由CommentController类中的actions实现。修改和删除评论yiic生成的更新和删除代码并不用怎么修改。因为我们支持评论在更新前进行预览,我们只需要如下修改CommentController的actionUpdate()方法。publicfunctionactionUpdate(){$comment=$this->loadComment...
转载 2010-02-24 21:48:00
63阅读
2评论
通过以上分析,我们认为需要建四个表来存储用户、文章、评论和tag 用户表(User) 保存用户信息 包括用户名和密码文章表(Post) 保存文章的信息。主要包括以下内容 标题(title):必须。内容(content):必须。使用Markdown 格式状态(status):必须。可以是一下个是之一 草稿、发布、存档tags(tags):可选,文章的tags以逗号分割。 评论表(Comment):存
转载 2010-02-24 21:39:00
25阅读
本节中我们将开发第一个portlet——用户菜单portlet,对已经通过验证的登录用户显示一个菜单列表。包含以下四个菜单:发布评论:到未发布评论列表的超链接添加文章:到添加文章的超链接管理文章:到文章管理页面的超链接注销:注销当前用户的链接按钮创建UserMenu类我们创建UserMenu类来描绘用户菜单的逻辑部分。保存在blog/protected/components...
转载 2010-02-24 21:49:00
28阅读
2评论
像最新评论列表和tag列表等,用Portlet实现是个不错的选择。一个Portlet就是一个可插入的用户界面组件,显示为聚合的一段HTML片段。在本节中,我们讲述了如何为我们的blog应用。建立portlet构架根据需求分析,我们需要四个不同的 portlet(为方便,以下翻译为模块)。分别是登陆,用户菜单,tag列表和最新评论。这些模块(portlet)会在每个页面的侧边栏显示。建立portle...
转载 2010-02-24 21:48:00
57阅读
2评论
像文章模块一样,我们需要完善评论模块的rules(), relations() 和 safeAttributes() 方法,另外我们还需要修改attributeLabels()方法,来为一些属性定义显示标签修改rules()方法我们首先修改由Yiic工具生成的验证规则,评论使用如下的验证规则publicfunctionrules(){returnarray(array('author,email,...
转载 2010-02-24 21:47:00
41阅读
2评论
由yiic工具生成的文章模块主要有以下三个地方需要完善: rules()方法:模块属性的验证规则。也就是表中数据的验证规则 relations()方法 :各个模块的相互关系,也就是各个表的相互关系。 safeAttributes()方法:允许批量赋值的属性。 模块有许多和数据表中字段对应的属性。属性可以显式的通过类的变量进行声明,也可以隐式的不采用任何声明。也就是可以把属性都作为变量声明出来,也
转载 2010-02-24 21:44:00
54阅读
这将显示一个最常用的文章tag的列表,根据使用程度,对每个tag使用不同的样式进行修饰。创建TagCloud类我们在文件/blog/protected/components/TagCloud.php中创建TagCloud类,内容如下:<?phpclassTagCloudextendsPortlet{public$title='Tags';publicfunctiongetTagWeights...
转载 2010-02-24 21:50:00
32阅读
本节中我们建立最新评论模块,显示最新发布的评论列表建立RecentComments类我们在文件blog/protected/components/RecentComments.php中建立RecentComments类。内容如下:  <?phpclass RecentComments extends Portlet{    public $title='Recent Comments';  
转载 2010-02-24 21:51:00
48阅读
增加、显示、修改、删除是持久化数据的四个基本的操作,在我们
转载 2010-02-24 21:42:00
45阅读
目前访问我们各个页面的url地址看上去比较丑陋,比如说文章显式页面的地址是/index.php?r=post/show&id=1在本节中,我们讲述如何使页面地址看上去更漂亮,对SEO更友好。我们目标是在应用中可以使用如下的地址:/index.php/tag/yii: 所有有使用yii标签的文章列表页面;/index.php/posts: 最新文章的列表页面/index.php/post/1...
转载 2010-02-24 21:51:00
82阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5