做者:白狼 出處: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', ];