YII 配置文件

用YIIFramework的库开发

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

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

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

main.php

<?php
// 取消下行的注释,来定义一个路径别名
// Yii::setPathOfAlias(‘local’,’path/to/local-folder’);

// 这是 Web 应用配置的主体部分。任何可写的
// CWebApplication 属性可以在这里配置。
$config = array(
// protected 目录的基础路径
// 使用 Yii::app()->basePath 来访问
‘basePath’ => dirname(__FILE__) . DIRECTORY_SEPARATOR . ‘..’,

// 应用的名字
// 使用 Yii::app()->name 来访问
‘name’ => ‘My website’,

//路径别名
// 可以是应用内部的路径,也可以是外部资源
‘aliases’ => array(
‘myExternalFramework’ => dirname(__FILE__) . DIRECTORY_SEPARATOR . ‘..’ . DIRECTORY_SEPARATOR . ‘..’ . DIRECTORY_SEPARATOR . ‘myexternalframework’
),
//维护程序时,这样子所有的请求转发到一个地方
‘catchAllRequest’ => array(‘site/all’),

//如何在应用程序处理请求之前执行一段操作?当然这个function方法要存在index.php
‘onBeginRequest’ => ‘function’,

//controller path
‘controllerMap’ => array(‘myController’ => ‘myExternalFramework.controllers.MyController’),

// 默认的 controller
‘defaultController’ => ‘site’,

// 用户语言(for Locale)
‘language’ => ‘es’,

//信息和视图的语言
‘sourceLanguage’ => ‘es’,
‘timeZone’ => ‘Asia/Shanghai’,
‘theme’ => ‘default’,
// 使用的字符集
‘charset’ => ‘utf-8’,

// 预载入的应用组件
‘preload’ => array(‘log’),

// 自动载入的类
‘import’ => array(
‘application.models.*’,
‘application.components.*’,
),

// 可以使用 Yii::app()->params[‘paramName’] 访问的应用级别的参数
‘params’ => require(dirname(__FILE__) . ‘/params.php’),
// 在 params.php 中你需要返回这个数组:Yii::app()->setParams设置的只能用Yii::app()->params[‘xxx’]这种数组的方式访问
// return array(‘adminEmail’=>’info@example.com’);

// 应用组件的配置
‘components’ => array(
// assets, 参考www.yiiframework.com/doc/api/CAssetManager
‘assetManager’ => array(
// 改变磁盘上的路径
‘basePath’ => dirname(__FILE__) . ‘/../../assets/’,
// 改变url
‘baseUrl’ => ‘/web/assets/’
),
‘errorHandler’ => array( // 用 ‘site/error’ action 处理错误
‘errorAction’ => ‘site/error’,
),
‘request’ => array(
‘enableCsrfValidation’ => true, //如果防止post跨站攻击
‘enableCookieValidation’ => true, //防止Cookie攻击
),

// 用户
‘user’ => array(
// 启用 cookie-based 验证
‘allowAutoLogin’ => true,
// 设置需要验证时用户被转到的 url
// 使用 null 出现 43 HTTP 错误
‘loginUrl’ => array(‘site/login’),
// 设置一个类的名字,
// 这个类扩展自 CWebUser 并且保存在
// protected/components/<classname> 中。
‘class’ => ‘WebUser’,
),
// 缓存
‘cache’ => array(
‘class’ => ‘A cache class, like: system.caching.CApcCache’,
),
‘session’ => array( //  memcache session cache
‘class’ => ‘CCacheHttpSession’,
‘autoStart’ => 1,
‘sessionName’ => ‘frontend’,
‘cookieParams’ => array(‘lifetime’ => ‘3600’, ‘path’ => ‘/’, ‘domain’ => ‘.test.com’, ‘httponly’ => ‘1’),
‘cookieMode’ => ‘only’,
),
// url
‘urlManager’ => array(
// URL 格式。必须是 ‘path’ 或 ‘get’。
// path: index.php/controller/action/attribute/value
// get: index.php?r=controller/action&attribute=value
‘urlFormat’ => ‘path’,
// 显示为www.example.com/index.php/controller/action
// 或www.example.com/controller/action
‘showScriptName’ => true,
// 转向指定的 url 到你想要的 controller 的规则
// 查阅www.yiiframework.com/doc/guide/topics.url
‘rules’ => array(
//www.example.com/home代替www.example.com/site/index
‘home’ => ‘site/index’,
‘post/<id:\d+>’ => ‘post/show’,
),
),
// 你可以使用 scriptMap 来配置脚本来自哪里。
// 对于一个生产环境的配置,如下
‘clientScript’ => array(
‘scriptMap’ => array(
‘register.js’ => ‘site.min.js’,
‘login.js’ => ‘site.min.js’,
),
),
// 对于一个开发环境,可以这样做
‘clientScript’ => array(
‘scriptMap’ => array(
‘register.js’ => ‘register.js’,
‘login.js’ => ‘login.js’,
),
),
),
);
$database =  require(dirname(__FILE__) . DIRECTORY_SEPARATOR . ‘db.php’);
if (!empty($database)) {
$config[‘components’] = CMap::mergeArray($config[‘components’],$database);
//    Yii::app()->setComponents($database);
}
return $config;

db.php

<?php
return array(
‘db’ => array(
‘connectionString’ => ‘mysql:host=192.168.1.240;dbname=tttt’,
’emulatePrepare’ => true,
‘username’ => ‘root’,
‘password’ => ‘****’,
‘charset’ => ‘utf8’,
),
‘card’ => array(
‘class’ => ‘CDbConnection’,//
‘connectionString’ => ‘mysql:host=192.168.1.240;dbname=card’,
’emulatePrepare’ => true,
‘username’ => ‘root’,
‘password’ => ‘**’,
‘charset’ => ‘utf8’,
),
);

params.php

<?php
return array(
‘adminEmail’=>’info@example.com’,
‘pagesize’=>’100’,
‘pager’=>array(
‘class’=>’PagerWidget’,
‘maxButtonCount’=>8,
‘firstPageLabel’=>’首页’,
‘lastPageLabel’=>’末页’,
‘nextPageLabel’=>’下一页’,
‘prevPageLabel’=>’上一页’,
‘header’=>”,
‘cssFile’=>false,
),
);&nbsp;

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

/**
* 应用程序环境,可选:development,production,
*/
defined(‘APP_ENV’) or define(‘APP_ENV’,’development’);

// change the following paths if necessary
if (APP_ENV == ‘production’) {
error_reporting(0);
$yii=dirname(__FILE__).’/framework/yiilite.php’;
defined(‘YII_TRACE_LEVEL’) or define(‘YII_TRACE_LEVEL’,1);
} else {
$yii=dirname(__FILE__).’/framework/yii.php’;
// remove the following lines when in production mode
defined(‘YII_DEBUG’) or define(‘YII_DEBUG’,true);
// specify how many levels of call stack should be shown in each log message
defined(‘YII_TRACE_LEVEL’) or define(‘YII_TRACE_LEVEL’,3);
}
$config=dirname(__FILE__).’/protected/config/’.APP_ENV.’.php’;
require(‘path/to/globals.php’); //见附件
require_once($yii);
Yii::createWebApplication($config)->run();

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

<?php
return CMap::mergeArray(
require(dirname(__FILE__) . ‘/main.php’),
array(
‘components’ => array(
‘log’ => array(
‘class’ => ‘CLogRouter’,
‘routes’ => array(
array(
‘class’ => ‘CFileLogRoute’,
‘levels’ => ‘error, warning’,
),
array(
‘class’ => ‘CProfileLogRoute’,
),
array(
‘class’ => ‘CWebLogRoute’,
),
),
),
),
‘modules’ => array(
// uncomment the following to enable the Gii tool
‘gii’ => array(
‘class’ => ‘system.gii.GiiModule’,
‘password’ => ‘sa’,
// If removed, Gii defaults to localhost only. Edit carefully to taste.
‘ipFilters’ => array(‘127.0.0.1,192.168.1.12’, ‘::1’),
),
),
)
);

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

<?php
return CMap::mergeArray(
require(dirname(__FILE__).’/main.php’),
array(
‘components’=>array(
// uncomment the following to use a MySQL database
‘log’=>array(
‘class’=>’CLogRouter’,
‘routes’=>array(
array(
‘class’=>’CFileLogRoute’,
‘levels’=>’error, warning’,
)
),
),
),
)
);

 

本文固定链接: http://www.ccsbbs.com.cn/archives/6304.html | 极限手指

该日志由 极限手指 于2013年04月03日发表在 PHP, YII 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: YII 配置文件 | 极限手指

YII 配置文件:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!