PHP Yii开源框架入门学习(四)添加新模块
来源:互联网 发布:mac quartus 编辑:程序博客网 时间:2024/06/10 06:29
http://www.bianceng.cn/webkf/PHP/201311/38253.htm
1) 打开Gii代码生成工具,进入Module Generator页面,输入模块名如test,点击生成;
2) 生成的代码在protected/modules/test目录下,生成的文件如下:
test/TestModule.php ---- 模块主类,继承自CWebModule
test/controllers/DefaultController.php ----- 默认Controller,里面有一个index action,action跳转到index视图;该模块的Controller都放在这个目录下
test/views/default/index.php --- 这是DefaultController的视图文件,对应index action;所有DefaultController的action的视图文件都放在这里;
3) 配置模块
在config/main.php里的modules中加入该模块:
'modules'=>array(
'main',
'admin',
'test',
),
4) 在模块初始化函数中设置默认项:打开TestModule.php,在init方法中加入:
Yii::app()->errorHandler->errorAction = 'test/default/error';
Yii::app()->defaultController = 'test/default';
Yii::app()->user->loginUrl = 'test/default/login';
请确保这些action和controller都已经实现。
5) 打开浏览器,访问:http://127.0.0.1/zuizen/test/即可访问到默认的首页,这个首页是默认Controller DefaultController里的默认Index action跳转到的default/index.php的视图。
6) Yii的模块中,所有Controller全部放在conroller目录下,每一个controller都对应一个目录,目录位于views下,里面存放该controller所有action对应的view。一般来讲,一个独立action都会对应一个view。
7) 加入需要添加模块独有的model和component,则都加在test/models 和test/components目录下,在TestModule模块类中会自动将他们引入:
$this->setImport(array(
'test.models.*',
'test.components.*',
));
8) 需要添加模块独有的layout,请加到test/views/layouts目录下,使用该layout时使用:/layouts/layoutName来调用,layout可以嵌套,父layout用<?php echo $content; ?>来为子layout占位,子layout内容包含在以下语句中,其中指定父layout:
<?php $this->beginContent('/layouts/main'); ?>
<?php $this->endContent(); ?>
9) 在Controller中指定该Controller所有action默认使用的layout
在Controller类中定义以下变量,以覆盖父类中的默认值:
public $layout='/layouts/main';
public $defaultAction='index';
如果要是有网站根目录下的layout,需要将目录的/换成//.
- PHP Yii开源框架入门学习(四)添加新模块
- Yii PHP 框架分析(四)
- Yii PHP 框架分析(四)
- Yii PHP 框架分析(四)
- PHP添加新模块
- yii php框架研究学习
- 【PHP】YII 框架学习笔记
- YII框架学习 第二天(2) gii 和 模块
- PHP框架Yii系列教程(一):入门实例
- php框架yii入门遇到的问题
- PHP框架YII实例学习(新闻发布系统1)
- PHP框架Yii实例学习(新闻发布系统2)
- PHP之Yii框架学习总结
- yii框架的模块(module)配置
- PHP框架Yii系列教程(四):使用Memcache保存会话
- yii框架学习(一)
- Yii框架开发商城(四)
- Yii框架添加FCKeditor
- 利用http协议实现小型Web服务器
- ionic购物加减指令
- hadoop1和hadoop2架构图
- odoo学习方法
- VMWare 网络连接的三种模式(bridged、NAT、host-only)
- PHP Yii开源框架入门学习(四)添加新模块
- 1079: [SCOI2008]着色方案
- ZOJ 2588-Burning Bridges(割边)
- 无穷大常数 【INF】
- #205 Interval Minimum Number
- codeforces 707B - Bakery
- SFM总结(二)
- PAT乙级真题100_害死人不偿命的(3n+1)猜想
- 实现一个复杂动画的界面转场(Swift)