YII配置

阅读更多

用YIIFramework的库开发

Java代码   收藏代码
  1. ....  
  2. Yii::createWebApplication($config); //没有run  

Yii::import(class1,true),在将class1类文件路径存储时,同时include该文件

注意:你也可以将配置文件分为多个文件, // 例如: db.php, params.php等等 。Yii::import('db',true); main.php

Java代码   收藏代码
  1. // 取消下行的注释,来定义一个路径别名  
  2. // Yii::setPathOfAlias('local','path/to/local-folder');  
  3.   
  4. // 这是 Web 应用配置的主体部分。任何可写的  
  5. // CWebApplication 属性可以在这里配置。  
  6. return array(  
  7.     // protected 目录的基础路径  
  8.     // 使用 Yii::app()->basePath 来访问  
  9.     'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',  
  10.   
  11.     // 应用的名字  
  12.     // 使用 Yii::app()->name 来访问  
  13.     'name'=>'My website',  
  14.   
  15.     //路径别名  
  16.     // 可以是应用内部的路径,也可以是外部资源  
  17.     'aliases'=>array(  
  18.         'myExternalFramework'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'myexternalframework'  
  19.     ),  
  20.     //维护程序时,这样子所有的请求转发到一个地方  
  21.     'catchAllRequest'=>array('site/all'),  
  22.    
  23.     //如何在应用程序处理请求之前执行一段操作?当然这个function方法要存在index.php  
  24.     'onBeginRequest' => 'function',  
  25.   
  26.     //building on above for a controller in the external  
  27.     //framework you can use the controller map to map the  
  28.     //controller path  
  29.     'controllerMap'=>array('myController'=>'myExternalFramework.controllers.MyController'),  
  30.   
  31.     // 默认的 controller  
  32.     'defaultController'=>'site',  
  33.   
  34.     // 用户语言(for Locale)  
  35.     'language'=>'es',  
  36.   
  37.     //信息和视图的语言  
  38.     'sourceLanguage'=>'es',  
  39.     'timeZone'=>'Asia/Shanghai',  
  40.     'theme'=>'school',  
  41.     // 使用的字符集  
  42.     'charset'=>'utf-8',  
  43.   
  44.     // 预载入的应用组件  
  45.     'preload'=>array('log'),  
  46.   
  47.     // 自动载入的类  
  48.     'import'=>array(  
  49.         'application.models.*',  
  50.         'application.components.*',  
  51.     ),  
  52.   
  53.     // 可以使用 Yii::app()->params['paramName'] 访问的应用级别的参数  
  54.     'params'=>array(  
  55.         'adminEmail'=>'[email protected]',  
  56.     ),  
  57.     // 注意:你也可以将配置文件分为多个文件,  
  58.     // 例如: db.php, params.php 等等。  
  59.     // 你可以这样做:  
  60.     // 'params'=>require(dirname(__FILE__).'/params.php'),  
  61.     // 在 params.php 中你需要返回这个数组:  
  62.     // return array('adminEmail'=>'[email protected]');  
  63.   
  64.     // 应用组件的配置  
  65.     'components'=>array(  
  66.         // assets, 参考www.yiiframework.com/doc/api/CAssetManager  
  67.         'assetManager'=>array(  
  68.             // 改变磁盘上的路径  
  69.             'basePath'=>dirname(__FILE__).'/../../assets/',  
  70.             // 改变url  
  71.             'baseUrl'=>'/web/assets/'  
  72.         ),  
  73.         'errorHandler'=>array(// 用 'site/error' action 处理错误  
  74.             'errorAction'=>'site/error',  
  75.         ),  
  76.         // 记录  
  77.         'log'=>array(  
  78.             // 记录器的类  
  79.             'class'=>'CLogRouter',  
  80.             // 在哪里存储日志  
  81.             'routes'=>array(  
  82.                 array(  
  83.                     // 保存到文件中,其他选项是可用的  
  84.                     'class'=>'CFileLogRoute',  
  85.                     // 什么内容保存到文件中? error 和 warning, info 和 trace 可以增加到这里  
  86.                     'levels'=>'error, warning',  
  87.                 ),  
  88.             ),  
  89.         ),  
  90.   
  91.         // 用户  
  92.         'user'=>array(  
  93.             // 启用 cookie-based 验证  
  94.             'allowAutoLogin'=>true,  
  95.             // 设置需要验证时用户被转到的 url  
  96.             // 使用 null 出现 43 HTTP 错误  
  97.             'loginUrl'=>null,  
  98.             // 设置一个类的名字,  
  99.             // 这个类扩展自 CWebUser 并且保存在  
  100.             // protected/components/ 中。  
  101.             'class' => 'WebUser',  
  102.         ),  
  103.   
  104.         // 数据库  
  105.         'db'=>require(dirname(__FILE__).DIRECTORY_SEPARATOR.'db.php'),  
  106.   
  107.         // 缓存  
  108.         'cache'=>array(  
  109.             'class'=>'A cache class, like: system.caching.CApcCache',  
  110.         ),  
  111.         'session' => array( //  memcache session cache  
  112.             'class' =>'CCacheHttpSession',  
  113.             'autoStart' => 1,  
  114.             'sessionName' => 'frontend',  
  115.             'cookieParams' => array('lifetime'=>'3600','path'=>'/','domain'=>'.test.com','httponly'=>'1'),  
  116.             'cookieMode' => 'only',  
  117.         ),  
  118.         // url  
  119.         'urlManager'=>array(  
  120.             // URL 格式。必须是 'path' 或 'get'。  
  121.             // path: index.php/controller/action/attribute/value  
  122.             // get: index.php?r=controller/action&attribute=value  
  123.             'urlFormat'=>'path',  
  124.             // 显示为www.example.com/index.php/controller/action  
  125.             // 或www.example.com/controller/action  
  126.             'showScriptName' => true,  
  127.             // 转向指定的 url 到你想要的 controller 的规则  
  128.             // 查阅www.yiiframework.com/doc/guide/topics.url  
  129.             'rules'=>array(  
  130.                 //www.example.com/home代替www.example.com/site/index  
  131.                 'home'=>'site/index',  
  132.                 'post/'=>'post/show',  
  133.             ),  
  134.         ),  
  135.         // 你可以使用 scriptMap 来配置脚本来自哪里。  
  136.         //If you use the split configurations for development and production you can  
  137.         // have different maps in each and then just load the file and it'll  
  138.         // load the appropriate file depending on the configuration your running.  
  139.         // 对于一个生产环境的配置,如下  
  140.         'clientScript'=>array(  
  141.             'scriptMap'=>array(  
  142.                 'register.js'=>'site.min.js',  
  143.                 'login.js'=>'site.min.js',  
  144.             ),  
  145.         ),  
  146.         // 对于一个开发环境,可以这样做  
  147.         'clientScript'=>array(  
  148.             'scriptMap'=>array(  
  149.                 'register.js'=>'register.js',  
  150.                 'login.js'=>'login.js',  
  151.             ),  
  152.         ),  
  153.     ),  
  154. );  

params.php

Java代码   收藏代码
  1. return array(  
  2.     'adminEmail'=>'[email protected]',  
  3.     'pagesize'=>'100',  
  4.     'pager'=>array(  
  5.         'class'=>'PagerWidget',   
  6.         'maxButtonCount'=>8,  
  7.         'firstPageLabel'=>'首页',  
  8.         'lastPageLabel'=>'末页',  
  9.         'nextPageLabel'=>'下一页',  
  10.         'prevPageLabel'=>'上一页',  
  11.         'header'=>'',  
  12.         'cssFile'=>false,   
  13.     ),   
  14. );   

index.php 
配置环境常量,不同环境调用不同配置文件和调试级别。

Java代码   收藏代码
  1. /** 
  2.  * 应用程序环境,可选:development,test,production, 
  3.  */  
  4. defined('APP_ENV') or define('APP_ENV','development');  
  5.   
  6. // change the following paths if necessary  
  7. if (APP_ENV == 'production') {  
  8.     error_reporting(0);  
  9.     $yii=dirname(__FILE__).'/../yii-svn/framework/yiilite.php';  
  10.     defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',1);  
  11. else {  
  12.     ini_set('error_reporting',E_ALL);  
  13.     ini_set('display_errors',1);      
  14.     $yii=dirname(__FILE__).'/../yii-svn/framework/yii.php';  
  15.     // remove the following lines when in production mode  
  16.     defined('YII_DEBUG') or define('YII_DEBUG',true);  
  17.     // specify how many levels of call stack should be shown in each log message  
  18.     defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);  
  19. }  
  20. $config=dirname(__FILE__).'/protected/config/'.APP_ENV.'.php';  
  21.   
  22. require_once($yii);  
  23. Yii::createWebApplication($config)->run();  

development.php 
开启weblog,profile,数据库性能显示,数据库查询参数记录,GII

Java代码   收藏代码
  1. return CMap::mergeArray(  
  2.         require(dirname(__FILE__).'/main.php'),  
  3.         array(  
  4.             'components'=>array(  
  5.                 // uncomment the following to use a MySQL database  
  6.                 'db'=>require(dirname(__FILE__).'/db.php'),  
  7.                 'log'=>array(  
  8.                     'class'=>'CLogRouter',  
  9.                     'routes'=>array(  
  10.                         array(  
  11.                             'class'=>'CFileLogRoute',  
  12.                             'levels'=>'error, warning',  
  13.                         ),  
  14.                         array(  
  15.                             'class'=>'CProfileLogRoute',  
  16.                         ),  
  17.                         array(  
  18.                             'class'=>'CWebLogRoute',  
  19.                         ),  
  20.                     ),  
  21.                 ),  
  22.             ),  
  23.             'modules'=>array(  
  24.                 // uncomment the following to enable the Gii tool  
  25.                 'gii'=>array(  
  26.                     'class'=>'system.gii.GiiModule',  
  27.                     'password'=>'sa',  
  28.                     // If removed, Gii defaults to localhost only. Edit carefully to taste.  
  29.                     'ipFilters'=>array('127.0.0.1','::1'),  
  30.                 ),  
  31.             ),  
  32.         )  
  33. );  

production.php 
开启数据库结构缓存,开启CEAcceleratorCache,关闭错误显示

Java代码   收藏代码
  1. return CMap::mergeArray(  
  2.         require(dirname(__FILE__).'/main.php'),  
  3.         array(  
  4.             'components'=>array(  
  5.                 // uncomment the following to use a MySQL database  
  6.                 'db'=>require(dirname(__FILE__).'/db.php'),  
  7.                 'log'=>array(  
  8.                     'class'=>'CLogRouter',  
  9.                     'routes'=>array(  
  10.                         array(  
  11.                             'class'=>'CFileLogRoute',  
  12.                             'levels'=>'error, warning',  
  13.                         )  
  14.                     ),  
  15.                 ),  
  16.                 'cache'=>array(  
  17.                     'class'=>'system.caching.CEAcceleratorCache',  
  18.                 ),  
  19.             ),  
  20.         )  
  21. );  

你可能感兴趣的:(YII配置)