用YIIFramework的库开发

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

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

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

main.php

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

db.php

  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

  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 
配置环境常量,不同环境调用不同配置文件和调试级别。

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

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

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

    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. );

YII 配置文件的更多相关文章

  1. yii phpexcel <转>

    原文详情参见 这里 1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php ...

  2. YII使用PHPExcel导入Excel文件的方法

    1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php 'import'= ...

  3. php yii 学习笔记

    yii 归档安装 1,下载 yii  Yii2的高级应用程序模板 2,解压模板到目录,进入控制台进入目录 运行 php init 安装YII 3,进入 http://localhost/phpmyad ...

  4. yii第三方插件snoopy配置

    首先.把snoopy类放到protected\extensions\snoopy\目录下. 其次.在yii配置文件main.php里配置import扩展进来. 'import'=>array( ...

  5. 命令行方式运行yii2程序

    测试环境,yii 2.0.3版本 web访问方式,控制器放在controllers目录下 ,浏览器访问如下地址 http://127.0.0.1/index.php?r=[controller-nam ...

  6. yii2微博第三方登录

    原作者:杜文建 原博客:http://www.cnblogs.com/dwj97/p/6530568.html yii2微博第三方登录   微博登录是最常用的第三方账号登录之一.由于其网站用户量大,可 ...

  7. yii的常用配置文件

    <?php return array( 'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..', //当前应用根目录路径 'nam ...

  8. yii学习笔记--配置文件的配置

    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 'name'=>'My Web Application',//项目的名称 / ...

  9. [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]

    Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间.本文旨在抛砖引玉,如 ...

随机推荐

  1. Rotate Matrix by One

    记得有道Amazon的OA题目,好像是给定一个矩阵,让把矩阵的每个元素向右shift一个位置.这道题之前没有好好自己想过.今天正好刷到了rotate matrix,所以正好一块想了. 思路是类似Lee ...

  2. SPOJ 1811 Longest Common Substring 后缀自动机

    模板来源:http://www.neroysq.com/?p=76 思路:http://blog.sina.com.cn/s/blog_7812e98601012dfv.html 题意就是求两个字符串 ...

  3. RTC系统【转】

    http://blog.csdn.net/fanqipin/article/details/8089995 转自:http://www.cnblogs.com/muhuacat/p/5276306.h ...

  4. Python得到前面12个月的数据,Python得到现在时间 前一年的数据,

    #Python 实现得到现在时间12个月前的每个月 # 假设现在的时间是2016年9月25日 #得到现在的时间 得到now等于2016年9月25日 now = datetime.datetime.no ...

  5. < %=...%>< %#... %>< % %>< %@ %>具体意义

    < %=...%>< %#... %>< % %>< %@ %>< %#... %>: 是在绑定控件DataBind()方法执行时被执行,用 ...

  6. VMware虚拟机中的常用文件介绍

    虚拟机的文件管理由VMware Workstation来执行.一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中. 如下图所示:(< ...

  7. Java-利用spring发送邮件

    最近项目中需要发送邮件的功能,于是百度一大把例子.但是有很多都是一样的,一点特点都没有.所以决定整理一番.         在spring2.X以后的版本就提供了org.springframework ...

  8. 大数据导入Excel

    在平时的项目中,将数据导出到Excel的需求是很常见的,在此对一些常见的方法做以总结,并提供一种大数据量导出的实现. OLEDB   使用OLEDB可以很方便导出Excel,思路很简单,处理时将Exc ...

  9. android架构图示

    Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核 ...

  10. 13行代碼開發出来的PHP框架[转]

    <?PHP /** PHP極簡框架 交流: QQ群: 223494678 http://7di.net 用法 http://URL http://URL/hello http://URL/sev ...