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/'
- ),
- 'request' => array(
- 'enableCsrfValidation' => true, //如果防止post跨站攻击
- 'enableCookieValidation' => true, //防止Cookie攻击
- ),
- // 缓存
- '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',
- ),
- // 你可以使用 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,
- ),
- );
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
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',
- )
- ),
- ),
- ),
- )
- );
YII 配置文件的更多相关文章
- yii phpexcel <转>
原文详情参见 这里 1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php ...
- YII使用PHPExcel导入Excel文件的方法
1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php 'import'= ...
- php yii 学习笔记
yii 归档安装 1,下载 yii Yii2的高级应用程序模板 2,解压模板到目录,进入控制台进入目录 运行 php init 安装YII 3,进入 http://localhost/phpmyad ...
- yii第三方插件snoopy配置
首先.把snoopy类放到protected\extensions\snoopy\目录下. 其次.在yii配置文件main.php里配置import扩展进来. 'import'=>array( ...
- 命令行方式运行yii2程序
测试环境,yii 2.0.3版本 web访问方式,控制器放在controllers目录下 ,浏览器访问如下地址 http://127.0.0.1/index.php?r=[controller-nam ...
- yii2微博第三方登录
原作者:杜文建 原博客:http://www.cnblogs.com/dwj97/p/6530568.html yii2微博第三方登录 微博登录是最常用的第三方账号登录之一.由于其网站用户量大,可 ...
- yii的常用配置文件
<?php return array( 'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..', //当前应用根目录路径 'nam ...
- yii学习笔记--配置文件的配置
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 'name'=>'My Web Application',//项目的名称 / ...
- [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]
Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间.本文旨在抛砖引玉,如 ...
随机推荐
- Spring框架学习之第5节
request session global-session 三个在web开发中才有意义 如果配置成prototype有点类似于request 如果配置成singleton有点类似于web开发中的gl ...
- Java的Reference感觉很象C++的指针,但是区别是本质的
Java的Reference感觉很象C++的指针,但是区别是本质的 他们相同之处在于都是含有一个地址,但是在Java中你无法对这个地址进行任何数学运算,并且这个地址你不知道,是Java Runtime ...
- QTableWidget使用简单,因为不再存在父节点的关系
虽然使用比较简单,但亲自过一遍还是有必要的,权当一个学习笔记吧,记录在此. #include "tablewidgetxxx.h" #include <QtGui/QAppl ...
- asp.net+swfupload 多图片批量上传(附源码下载)
asp.net的文件上传都是单个文件上传方式,无法执行一次性多张图片批量上传操作,要实现多图片批量上传需要借助于flash,通过flash选取多个图片(文件),然后再通过后端服务进行上传操作. 本次教 ...
- MyBatis学习总结_02_使用MyBatis对表执行CRUD操作
一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: 1 <?xml version="1.0&q ...
- Android从零单排之自动跟新
自动更新原理 当我们发布我们的应用程序的时候,肯定会想到后续版本的更新,那么该怎么对我们的程序进行更新呢? 更新APK的原理实际上就是比较程序中的AndroidManifest.xml中的versio ...
- Android APP安全评估工具 Drozer - 使用介绍
一.列出drozer当前可用的所有模块dz> list dz> list app.activity.forintent Find activities that can handle th ...
- python -- 一致性Hash
python有一个python模块--hash_ring,即python中的一致性hash,使用起来也挺简单. 可以参考下官方例子:https://pypi.python.org/pypi/hash_ ...
- Linux系统时间与RTC时间【转】
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3637782 Linux的RTC驱动相对还是比较简单的,可以将它作为一个普通的字符 ...
- 路由器扫描的Java源码
这个源码不是本人写的,是我原来的领导写的,我们都叫他东哥,这个是东留给我的一个小资源,好佩服他哦,这个东西可以用来扫描全世界的路由器,破解路由器账户和密码 当然是简单的了.我能力不够没有更完善的补充下 ...