文档章节

yii2项目实战之配置

白狼栈
 白狼栈
发布于 2016/08/01 16:27
字数 577
阅读 41
收藏 1

作者:白狼 出处: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配置文件的使用规则,我们打开common\config\main.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',
];

查看原文

© 著作权归作者所有

白狼栈
粉丝 19
博文 81
码字总数 30876
作品 0
杭州
私信 提问
yii2项目实战-博客管理平台的搭建

作者:白狼 出处:http://www.manks.top/document/yii2-blog-manage.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律...

白狼栈
2016/08/13
56
0
Yii实战:将ThinPHP的success提示信息跳转功能移植到Yii上

本扩展是一个通用扩展,你可以将它移植到任何php项目中,该扩展来源于ThinkPHP的4个控制器方法success() error() ajaxReturn() dispatchJump()。 将jumpage目录复制到yii项目目录protectedex...

吾爱
2013/12/27
0
4
yii2使用多个数据库的案例

作者:白狼 出处:http://www.manks.top/article/yii2%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8_config 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原...

白狼栈
2016/04/12
375
0
小紫羽/yii2-fast-api

yii2-fast-api yii2-fast-api是一个Yii2框架的扩展,用于配置完善Yii2,以实现api的快速开发。 此扩展默认的场景是APP的后端接口开发,因此偏向于实用主义,并未完全采用restfull的标准,方便...

小紫羽
2017/01/20
0
0
yii2项目实战-用户管理之user组件的配置

作者:白狼 出处:http://www.manks.top/document/yii2-user-config.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律...

白狼栈
2016/08/22
20
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 吾不好梦中插人

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @鱼豆腐233 :#今日歌曲分享# 分享My Chemical Romance的单曲《I Don't Love You》: 《I Don't Love You》- My Chemical Romance 手机党少年们...

小小编辑
今天
523
12
ss5 vpn 安装(linux版本)

1. 创建一个文件夹 /ss5 你也可以自定义,不过后续的地方需要注意自己的地址 2. 下载ss5文件(如果你的服务器没有安装wget请使用 yum -y install wget 命令安装 如果连yum都没安装自己查去)(下...

太黑_thj
今天
2
0
八、RabbitMQ的集群原理

集群架构 写在前面 RabbitMQ集群是按照低延迟环境设计的,千万不要跨越WAN或者互联网来搭建RabbitMQ集群。如果一定要在高延迟环境下使用RabbitMQ集群,可以参考使用Shovel和Federation工具。...

XuePeng77
今天
9
0
mac系统下,brew 安装mysql,用终端可以连接,navicat却连接不上?

问题: 1.报错? 2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found 2.自己通过设置,已经把密......

写bug的攻城狮
昨天
3
0
老生常谈,HashMap的死循环

问题 最近的几次面试中,我都问了是否了解HashMap在并发使用时可能发生死循环,导致cpu100%,结果让我很意外,都表示不知道有这样的问题,让我意外的是面试者的工作年限都不短。 由于HashMap...

群星纪元
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部