应用yii和php5进行web的敏捷开发翻译

应用yii和php5进行web的敏捷开发翻译

ID:30278308

大小:655.50 KB

页数:18页

时间:2018-12-28

应用yii和php5进行web的敏捷开发翻译_第1页
应用yii和php5进行web的敏捷开发翻译_第2页
应用yii和php5进行web的敏捷开发翻译_第3页
应用yii和php5进行web的敏捷开发翻译_第4页
应用yii和php5进行web的敏捷开发翻译_第5页
资源描述:

《应用yii和php5进行web的敏捷开发翻译》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.应用Yii和PHP5进行web的敏捷开发第十二章:迭代9:添加管理模块到目前为止,我们已经给TrackStar应用程序增加了很多功能。如果你还记得在第8章,我们介绍了使用基于用户角色的层次结构来限制用户访问某些功能。这有助于限制对一些单一项目的管理职能的访问。例如:在一个特定的项目中,你可能不希望让所有的成员都有删除权限。我们为用户分配到一个项目内的特殊角色来实现基于角色的访问控制,然后控制这些角色是否有访问该功能的权限。然而,我们尚未解决的是整个应用程序的管理需求。例如TrackStarWeb应用程序经常需要的有一个非常特殊

2、的用户拥有所有的管理权限。其中一个例子就是让系统的每一个用户拥有CURD操作,而不仅仅是项目。我们应用程序的系统管理员应该有以下权限:能够登录,删除或者修改用户、项目、问题,管理所有的评论,等等。同时,我们经常建立适用于整个应用程序的额外功能,如能给所有用户发布站点系统信息,管理电子邮件运动,打开/关闭某些应用功能,管理角色的层次,改变站点主题,等等。因为管理员的权限与用户的权限有极大的不同,把这些功能和应用程序分离是一个好想法。我们将通过Yii模块建立所有的管理功能来完成这个分离。12.1迭代计划在这个迭代中,我们将集中完成以

3、下开发任务:•创造一个新的模块来存放管理功能•为系统管理员建立系统广播功能,用户可以在项目列表页面查看•为应用模块添加一个新课题•创建一个新表保持系统消息数据•为系统信息生成所有的CURD操作•只允许管理用户使用新模块中的功能•在项目列表页面显示新系统信息12.2模块模块类似于一个大型应用程序中的小型应用程序。它有与应用程序类似的结构,包含模型、视图、控制器及其他支持组件。然而,模块不能作为独立的应用程序,它们必须嵌入某一个应用程序。Modules页.在帮助你的应用程序模块化架构方面很有用。大型的应用程序经常可以分成几个离散的应

4、用程序,这些离散的应用程序也可以用模块来构建。站点功能,如添加一个用户论坛,用户博客或站点管理员功能都是一些例子,说明从主站点功能分离出来的功能,可以让它们单独开发,并且容易在未来的计划中重用。我们将在应用程序中不同的位置建立存放管理功能的模块。12.3创建一个模块使用我们的老朋友,Gii代码生成工具创建一个新模块是很容易的。伴随着我们的URL的改变,要通过http://localhost/trackstar/gii来访问该工具。打开后,在左边的菜单中选择ModuleGenerator选项。你将看到下面的画面:我们需要给模块取一

5、个唯一的名字。由于我们正在创建一个管理模块,我们可以命名为admin。在ModuleID内输入admin,点击Preview按钮。如下图所示,它会向你展示它将会生成的所有文件,让你在创建之前预览这些文件:然后点击Generate按钮来生成这些文件。由于web服务器进程它自动创建文件夹和文件的要求,所以要确保你的/protected文件夹是可写入的。下面的截图显示一个成功的模块生成:页.让我们更进一步的看看这个自动生成的模板。Yii中模块是以一个文件夹组织的,文件夹的名字就是该模块的名字。默认情况下,居所有的模块保存在/prote

6、cted/modules目录下。每个模块文件夹的结构都与主应用程序非常相似。这个指令为我们所做的是创建admin模块建立脚手架文件夹结构。因为这是我们的第一个模块,顶层的文件夹/protected/modules被创建了,然后将admin文件夹放在里面。下面为我们展示了模块命令行为我们建立的所有文件夹和文件:页.一个模块必须拥有一个模块继承自CWebModule或其子类。该模块类的名字由模块ID(在这里指admin)和字符串Module联合生成。模块ID的第一个字母大写。所以,在我们的例子中,我们的admin模块类文件被命名Ad

7、minModule.php。模块类主要作为存储模块代码共享信息的中转站。例如,我们可以用CWebModule的params属性来存储模块性能的具体参数,并利用其components属性在模块级分享应用程序的组件。这个模块类在模块中的作用类似于应用程序类对整个应用程序的作用。所以CWebModule是对模块的就像CWebApplication是对应用程序的。12.4使用一个模块正如成功建立的信息表明,在我们使用新模块之前,我们需要在主应用程序中设置modules属性,才可以使用它。在添加gii模块应用程序之前,允许我们使用gii代

8、码生成工具。我们对主要配置文件protected/config/main.php进行改变。以下代码显示了所需的改变:PHP代码:'modules'=>array('gii'=>array('class'=>'system.gii.GiiModule','pass

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。