作者:白狼 出处:http://www.manks.top/document/yii2-blog-config.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
yii2配置项的理解
说起项目的配置,一种简单的理解概念就是为项目做一个基本的配置,类似数据库配置、路由配置等等。但是yii2的配置往往更复杂一些,在yii2中,配置项一定是针对对象进行的配置,其作用就是对对象的初始化或者说是配置对象的默认属性。可能刚开始接触yii的会有一点不好理解,我们举个栗子进行说明:
假设我们需要为当前项目封装一个全局性的公共的方法,在yii2中怎么解决?
我们假设全局性的公共类文件位于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',
],
],
接着你只需要简单的使用
var_dump(Yii::$app->helper->checkedMobile('186xxx'));
var_dump(Yii::$app->helper->property);
进行调用即可。
从上面的栗子中,也不难看出,其配置项的格式大多数情况下只需要指定一个class即可。当然,我们还可以为配置项(比如说我们配置的全局类)配置属性、行为和事件,鉴于理解,我们这里只对属性进行了配置,行为和事件后面我们会再说。
实战开发所需的基本配置
下面我们在做一些我们后面所需要的基本配置,但不保证是必须的。
<?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',
];
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。