PHP Yii开源框架入门学习(四)添加新模块

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)