美文网首页Yii使用心得
Yii笔记-模块配置

Yii笔记-模块配置

作者: 李楠30 | 来源:发表于2019-08-08 15:16 被阅读0次

按照模块来划分代码有利于后期维护,每个人都各自负责各自的代码减少代码冲突。

设置

在YII中配置模块很容易,只需要简单的几步操作即可:

  1. 创建模块目录(示例为admin模块)
  2. 在模块目录里创建Module.php文件,这是模块的加载类
  3. 在模块目录里创建控制器(controllers)、模型(models)、视图目录(views)
  4. 在配置文件中加载模块的配置

Module.php文件中的代码如下:

<?php
namespace app\admin;

class Module extends \yii\base\Module
{
    public function init()
    {
        parent::init();
    }
}

配置文件的设置(config/web.php)

'modules' => [
        'admin' => [
            #设置模块的Module.php类文件的位置
            'class' => 'app\admin\Module',
        ],
    ],

这样访问http://www.test.com/admin/index就可以显示出admin模块下IndexController.php控制的代码了。

模块常用的参数设置

web.php配置文件中的modules中还有很多可以自定义配置的参数。

class

这是必填的参数,告诉框架去那个地方加载类。

layout

布局参数,选填。不填则使用@app/views/layouts/main.php的布局文件

如果不想在该模块下使用布局文件,把值设为false表示禁止使用布局功能。

'modules' => [
        'admin' => [
            #设置模块的Module.php类文件的位置
            'class' => 'app\admin\Module',
            'layout'=> 'main'
        ],
    ],

框架会去寻找@app/admin/views/layouts/main.php文件。

params

模块参数,选填

有些参数需要整个模块共享,就可以通过该参数来设置。

Module.php文件中可以通过$this->params['dev']来获取。
在模块下的控制器中可以通过$this->module->params['dev']来获取。

'modules' => [
        'admin' => [
            #设置模块的Module.php类文件的位置
            'class' => 'app\admin\Module',
            'params'=> ['dev' => 'test']
        ],
    ],

version

模块版本号,选填。默认为1.0

在模块中可以通过$this->version获取
在模块的控制器中通过$this->module->version获取

defaultRoute

模块的默认路由,选填。

'modules' => [
        'admin' => [
            #设置模块的Module.php类文件的位置
            'class' => 'app\admin\Module',
            'defaultRoute'=> 'index/index',
        ],
    ],

访问index.php/admin 时,会寻址admin/index/index

相关文章

网友评论

    本文标题:Yii笔记-模块配置

    本文链接:https://www.haomeiwen.com/subject/ozjxjctx.html