YII 配置文件

用YIIFramework的库开发

Java代码  

  1. ....  
  2. Yii::createWebApplication($config); //没有run  

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

注意:你也可以将配置文件分为多个文件, // 例如: db.php, params.php等等

main.php

Java代码  

  1. <?php  
  2. // 取消下行的注释,来定义一个路径别名  
  3. // Yii::setPathOfAlias('local','path/to/local-folder');  
  4.   
  5. // 这是 Web 应用配置的主体部分。任何可写的  
  6. // CWebApplication 属性可以在这里配置。  
  7. $config = array(  
  8.     // protected 目录的基础路径  
  9.     // 使用 Yii::app()->basePath 来访问  
  10.     'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..',  
  11.   
  12.     // 应用的名字  
  13.     // 使用 Yii::app()->name 来访问  
  14.     'name' => 'My website',  
  15.   
  16.     //路径别名  
  17.     // 可以是应用内部的路径,也可以是外部资源  
  18.     'aliases' => array(  
  19.         'myExternalFramework' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'myexternalframework'  
  20.     ),  
  21.     //维护程序时,这样子所有的请求转发到一个地方  
  22.     'catchAllRequest' => array('site/all'),  
  23.   
  24.     //如何在应用程序处理请求之前执行一段操作?当然这个function方法要存在index.php  
  25.     'onBeginRequest' => 'function',  
  26.   
  27.     //controller path  
  28.     'controllerMap' => array('myController' => 'myExternalFramework.controllers.MyController'),  
  29.   
  30.     // 默认的 controller  
  31.     'defaultController' => 'site',  
  32.   
  33.     // 用户语言(for Locale)  
  34.     'language' => 'es',  
  35.   
  36.     //信息和视图的语言  
  37.     'sourceLanguage' => 'es',  
  38.     'timeZone' => 'Asia/Shanghai',  
  39.     'theme' => 'default',  
  40.     // 使用的字符集  
  41.     'charset' => 'utf-8',  
  42.   
  43.     // 预载入的应用组件  
  44.     'preload' => array('log'),  
  45.   
  46.     // 自动载入的类  
  47.     'import' => array(  
  48.         'application.models.*',  
  49.         'application.components.*',  
  50.     ),  
  51.   
  52.     // 可以使用 Yii::app()->params['paramName'] 访问的应用级别的参数  
  53.     'params' => require(dirname(__FILE__) . '/params.php'),  
  54.     // 在 params.php 中你需要返回这个数组:Yii::app()->setParams设置的只能用Yii::app()->params['xxx']这种数组的方式访问  
  55.     // return array('adminEmail'=>'info@example.com');  
  56.   
  57.     // 应用组件的配置  
  58.     'components' => array(  
  59.         // assets, 参考www.yiiframework.com/doc/api/CAssetManager  
  60.         'assetManager' => array(  
  61.             // 改变磁盘上的路径  
  62.             'basePath' => dirname(__FILE__) . '/../../assets/',  
  63.             // 改变url  
  64.             'baseUrl' => '/web/assets/'  
  65.         ),  
  66.         'request' => array(  
  67.             'enableCsrfValidation' => true, //如果防止post跨站攻击  
  68.             'enableCookieValidation' => true, //防止Cookie攻击  
  69.         ),  
  70.         // 缓存  
  71.         'cache' => array(  
  72.             'class' => 'A cache class, like: system.caching.CApcCache',  
  73.         ),  
  74.         'session' => array( //  memcache session cache  
  75.             'class' => 'CCacheHttpSession',  
  76.             'autoStart' => 1,  
  77.             'sessionName' => 'frontend',  
  78.             'cookieParams' => array('lifetime' => '3600', 'path' => '/', 'domain' => '.test.com', 'httponly' => '1'),  
  79.             'cookieMode' => 'only',  
  80.         ),  
  81.         // 你可以使用 scriptMap 来配置脚本来自哪里。  
  82.         // 对于一个生产环境的配置,如下  
  83.         'clientScript' => array(  
  84.             'scriptMap' => array(  
  85.                 'register.js' => 'site.min.js',  
  86.                 'login.js' => 'site.min.js',  
  87.             ),  
  88.         ),  
  89.         // 对于一个开发环境,可以这样做  
  90.         'clientScript' => array(  
  91.             'scriptMap' => array(  
  92.                 'register.js' => 'register.js',  
  93.                 'login.js' => 'login.js',  
  94.             ),  
  95.         ),  
  96.     ),  
  97. );  
  98. $database =  require(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'db.php');  
  99. if (!empty($database)) {  
  100.     $config['components'] = CMap::mergeArray($config['components'],$database);  
  101. //    Yii::app()->setComponents($database);  
  102. }  
  103. return $config;  

db.php

Java代码  

  1. <?php  
  2. return array(  
  3.     'db' => array(  
  4.         'connectionString' => 'mysql:host=192.168.1.240;dbname=tttt',  
  5.         'emulatePrepare' => true,  
  6.         'username' => 'root',  
  7.         'password' => '****',  
  8.         'charset' => 'utf8',  
  9.     ),  
  10.     'card' => array(  
  11.         'class' => 'CDbConnection',//  
  12.         'connectionString' => 'mysql:host=192.168.1.240;dbname=card',  
  13.         'emulatePrepare' => true,  
  14.         'username' => 'root',  
  15.         'password' => '**',  
  16.         'charset' => 'utf8',  
  17.     ),  
  18. );  

params.php

Java代码  

  1. <?php  
  2. return array(  
  3.     'adminEmail'=>'info@example.com',  
  4.     'pagesize'=>'100',  
  5.     'pager'=>array(  
  6.         'class'=>'PagerWidget',   
  7.         'maxButtonCount'=>8,  
  8.         'firstPageLabel'=>'首页',  
  9.         'lastPageLabel'=>'末页',  
  10.         'nextPageLabel'=>'下一页',  
  11.         'prevPageLabel'=>'上一页',  
  12.         'header'=>'',  
  13.         'cssFile'=>false,   
  14.     ),   
  15. );   

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

Java代码  

  1. /** 
  2.  * 应用程序环境,可选:development,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__).'/framework/yiilite.php';  
  10.     defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',1);  
  11. } else {  
  12.     $yii=dirname(__FILE__).'/framework/yii.php';  
  13.     // remove the following lines when in production mode  
  14.     defined('YII_DEBUG') or define('YII_DEBUG',true);  
  15.     // specify how many levels of call stack should be shown in each log message  
  16.     defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);  
  17. }  
  18. $config=dirname(__FILE__).'/protected/config/'.APP_ENV.'.php';  
  19. require('path/to/globals.php'); //见附件  
  20. require_once($yii);  
  21. Yii::createWebApplication($config)->run();  

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

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

Java代码  

  1. <?php  
  2. return CMap::mergeArray(  
  3.     require(dirname(__FILE__).'/main.php'),  
  4.     array(  
  5.         'components'=>array(  
  6.             // uncomment the following to use a MySQL database  
  7.             'log'=>array(  
  8.                 'class'=>'CLogRouter',  
  9.                 'routes'=>array(  
  10.                     array(  
  11.                         'class'=>'CFileLogRoute',  
  12.                         'levels'=>'error, warning',  
  13.                     )  
  14.                 ),  
  15.             ),  
  16.         ),  
  17.     )  
  18. );  
时间: 2024-11-15 20:42:08

YII 配置文件的相关文章

Yii配置文件用法详解_php实例

本文详细分析了Yii配置文件的用法.分享给大家供大家参考.具体分析如下: Yii配置文件比ThinkPHP复杂多了,先把自己了解的配置记录下来,感兴趣的朋友可以参考一下: 复制代码 代码如下: <?php // 主配置文件 $config = array(     'modules' => array(         'gii' => array(             'class' => 'system.gii.GiiModule',             'passwo

Yii学习笔记之配置文件详解

最近在了解Yii框架,还是一头雾水. Yii配置文件比ThinkPHP复杂多了,先把自己了解的配置记录下来,免得忘记了 呵呵,也给大家参考下.  代码如下 复制代码 <?php  // 主配置文件  $config = array(      'modules' => array(          'gii' => array(              'class' => 'system.gii.GiiModule',              'password' =>

Yii配置与使用memcached缓存的方法_php技巧

本文实例讲述了Yii配置与使用memcached缓存的方法.分享给大家供大家参考,具体如下: 1. 下载memcached软件包,解压,把memcached.exe 放到随意一个地方,比如:d:/memcached/ 下. 2. 开始->运行->输入cmd,命令行打开memcached.exe,所在文件夹,输入:memcached.exe -d install  安装 3. 输入memcached.exe -d start 启动 4. 中加入 extension=php_memcache.dl

yii,CI,yaf框架+smarty模板使用方法_php实例

本文实例讲述了yii,CI,yaf框架+smarty模板使用方法.分享给大家供大家参考,具体如下: 最近折腾了框架的性能测试,其中需要测试各个模板跟smarty配合的性能,所以折腾了一桶,现总结一下.之前已经写过kohana框架+smarty模板,这里不再重复了. 一.yii框架+smarty模板 yii是覆盖了viewRenderer组件. 1.1,下载yii框架并解压,下载smarty框架并解压,将smarty/libs文件夹拷到yii框架application/protected/vend

YII 1.1中对CURL的再封装

         Yii框架灵活的扩展受到公司的青睐,所以,项目中使用了yii,为了兼容原来的系统,依然选择了yii1.1的版本.          这里不讲yii的特性,主要说一说使用yii时对curl的再次封装.          先看看yii的配置文件,在main.php中将curl配置为Components.       'components' => array( // Curl库 调用:Yii::app()->curl 'curl' => array( 'class' =&g

yii框架源码分析之创建controller代码

使用yii框架的url路径一般形如hostname/?r=xxxx/xxxx/xxxx&sdfs=dsfdsf 我们可以看到有时会使用protected目录下的controller,有时会使用module中controller,具体是如何处理的呢,请看如下的分析: 以下代码摘自yii框架核心代码%Yiiroot%/framework/web/CWebApplication.php 复制代码 代码如下: ===============================================

PHP Yii开源框架入门学习(二)修改Yii网站访问路径

默认网站访问路径如下所示: http://127.0.0.1:8080/zuizen/index.php?r=admin/UserInfo/admin 这种路径对搜索引擎不友好,需要改成如下形式: http://127.0.0.1:8080/zuizen/admin/UserInfo/admin.html 以下步骤实现以上要求: 1) 修改Apache配置,使其支持重写: 打开Apache配置文件httpd.conf:开启apache的mod_rewrite模块: 去掉LoadModule re

PHP yii框架源码阅读(一) 目录文件分析

目录文件 |-framework     框架核心库 |--base         底层类库文件夹,包 含CApplication(应用类,负责全局的用户请求处理,它管理的应用组件集,将提供特定功能给整个应用程序),CComponent(组件类,该 文件包含了基于组件和事件驱动编程的基础类,从版本1.1.0开始,一个行为的属性(或者它的公共成员变量或它通过getter和/或setter方 法??定义的属性)可以通过组件的访问来调用),CBehavior(行为类,主要负责声明事件和相应事件处理程

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

以下是Yii相关配置的总结: 1,/protected/config/main.php中的配置: 1) 修改默认Controller,下载下来的源代码默认Controler为siteController: 在protected/config/main.php中,修改键defaultController的值为指定的controller,在该controller中须指定默认action.当request中未明确目的时,采用defaultController/defaultAction来响应. 'de