YII学习第十三天,引入module
一、controller与layout/main.php执行的先后关系?
先controller,再layout(main和column1),所以main.php文件中的$this是指controller。所以$this->title是在controller里设定的。?
由前面可知,该controller是继承Controller.php的,而Controller.php又是继承CController.php的。?
二、module?
增加模块需要增加APPModule.php继承CWebModule.php,里面继承或覆盖CWebModule里的属性和方法。?
比如,常见有init(),beforeControllerAction(),getLayoutPath()方法。其中init里主要是引入'app.models.*和app.components.*'?
三、如何使用module?
1,在config/main.php?
'modules' => array(?
?????? 'admin',?
?????? 'cron',?
),?
2,在modules下创建statistics文件夹?
再创建modules/statistics/StatisticsModule.php进行初始化(引入模块内的models和components,beforeControllerAction,布局等)。?
3,在modules/statistics/components下创建StatisticsBaseController.php。?
该文件继承自Controller.php(该文件又继承自CController.php)?
4,写自己的MVC。?
创建modules/statistics/下的controllers,views,models文件夹。?