做者:白狼 出处:http://www.manks.top/document/yii2-blog-config.html 本文版权归做者,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。php
yii2配置项的理解html
提及项目的配置,一种简单的理解概念就是为项目作一个基本的配置,相似数据库配置、路由配置等等。可是yii2的配置每每更复杂一些,在yii2中,配置项必定是针对对象进行的配置,其做用就是对对象的初始化或者说是配置对象的默认属性。可能刚开始接触yii的会有一点很差理解,咱们举个栗子进行说明:mysql
假设咱们须要为当前项目封装一个全局性的公共的方法,在yii2中怎么解决?sql
咱们假设全局性的公共类文件位于common/components/Helper.php,其内容以下:数据库
<?php namespace common\components; class Helper { public function checkedMobile ($mobile) { return $mobile; } }
若是按照通常的方法调用,你只须要use一些这个类并调用咱们的checkedMobile方法便可,可是,为了说明yii配置文件的使用规则,咱们打开commonconfigmain.php文件对components选项进行以下配置:缓存
'components' => [ // other code... 'helper' => [ 'class' => 'common\components\Helper', 'property' => '123', ], ],
接着你只须要简单的使用yii2
var_dump(Yii::$app->helper->checkedMobile('186xxx')); var_dump(Yii::$app->helper->property);
进行调用便可。app
从上面的栗子中,也不难看出,其配置项的格式大多数状况下只须要指定一个class便可。固然,咱们还能够为配置项(好比说咱们配置的全局类)配置属性、行为和事件,鉴于理解,咱们这里只对属性进行了配置,行为和事件后面咱们会再说。yii
实战开发所需的基本配置spa
下面咱们在作一些咱们后面所须要的基本配置,但不保证是必须的。
<?php return [ 'components' => [ // 配置缓存 'cache' => [ 'class' => 'yii\caching\FileCache', ], // 配置数据库 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=advanced', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'enableSchemaCache' => true, 'schemaCacheDuration' => 24*3600, 'schemaCache' => 'cache', ], ], // 配置语言 'language'=>'zh-CN', // 配置时区 'timeZone'=>'Asia/Chongqing', ];