PHP Yii开源框架入门学习(三)Yii的相关配置总结

时间:2014-4-30     作者:smarteng     分类: Yii-sae开发


以下是Yii相关配置的总结:
1,/protected/config/main.php中的配置:
1)      修改默认Controller下载下来的源代码默认ControlersiteController
protected/config/main.php中,修改键defaultController的值为指定的controller,在该controller中须指定默认action。当request中未明确目的时,采用defaultController/defaultAction来响应。
'defaultController'=>'main',
设置后访问网站根路径即可跳到对应的Controller MainController.php
下载下来的源代码默认为site,是在yiilite.php文件中指定,所以示例中跳转到SiteController.php
2)      修改默认登录action
当未知名登录页面时,当未登录而访问需要登录的页面时,Yii会跳转到默认登录Action,默认Actionsite/login,这也可以在main.php或模块配置文件中自定义
'components'=>array(
       'user'=>array(
           'allowAutoLogin'=>true,
           'loginUrl'=>array('main/login.html'), 
       ),
3)      数据库连接的定义:
       'db'=>array(
           'connectionString'=> 'mysql:host=localhost;dbname=db_schema',
           'emulatePrepare' => true,
           'username' => 'root',
           'password' => '123',
           'charset' => 'utf8',
           'tablePrefix'=>'zz_',
       ),
 
4)      默认错误Action的定义,发生错误时将调用该Action
       'errorHandler'=>array(
           'errorAction'=>'main/error',
       ),
 
5)      添加模块:
'modules'=>array(
       …, // 其它模块
       'admin',     
    ),
添加之后方可通过路径访问:
或者:
http://127.0.0.1:8080/zuizen/admin/ 若按上一节修改了访问路径为path方式
 
 
6)      配置和修改Yii代码生成工具Gii
    'modules'=>array(
       'gii'=>array(
           'class'=>'system.gii.GiiModule',
           'password'=>'123',
           'ipFilters'=>array('127.0.0.1','::1'),
        ),
 
 
2,在Controller中的定义:
Controller的父类为CController,其中定义了Controller的一些变量。
1)      定义Layout
public $layout='/layouts/admin';
//表示绝对路径,/表示相对路径
2)      定义默认Action
public $defaultAction='index';
 
3,在模块Modules中的定义,如AdminModule
1)      模块类的父类CWebModule中定义了部分变量:
public$defaultController='default';
public $layout;
public$controllerNamespace;
2)      AdminModule init函数中定义该模块内的默认错误Action
                   Yii::app()->errorHandler->errorAction= 'admin/default/error';
3)      AdminModule init函数中定义模块内默认Controller
                   Yii::app()->defaultController= 'admin/default';
4)      AdminModule init函数中定义模块内默认登录Action
                   Yii::app()->user->loginUrl= 'admin/default/login';