Yii2 学习内容整理

Yii2模块学习

PHPer 2018-01-24 2760 0 0

讲到模块的控制台命令时,听不明白。 "想要在命令行中查看你的命令 ” 是什么意思?模块中的控制台命令您的模块也可以声明命令,这将通过 控制台 模式可用。当 Yii 在控制台模式下执行并将其指向命令的命名空间时。想要在...

讲到模块的控制台命令时,听不明白。 "想要在命令行中查看你的命令 是什么意思?

模块中的控制台命令

您的模块也可以声明命令,这将通过 控制台 模式可用。

当 Yii 在控制台模式下执行并将其指向命令的命名空间时。想要在命令行中查看你的命令, 你需要更改 yii\base\Module::$controllerNamespace 属性。

一种实现方法是在模块的 init() 方法中测试Yii应用程序的实例类型:

public function init()
{
    parent::init();
    if (Yii::$app instanceof \yii\console\Application) {
        $this->controllerNamespace = 'app\modules\forum\commands';
    }
}

然后您的命令将从命令行使用以下路由:

yii <module_id>/<command>/<sub_command>


模块

http://www.yiichina.com/doc/guide/2.0/structure-modules#using-modules

模块是独立的软件单元,由模型, 视图, 控制器和其他支持组件组成, 终端用户可以访问在应用主体中已安装的模块的控制器, 模块被当成小应用主体来看待,和应用主体不同的是, 模块不能单独部署,必须属于某个应用主体。

创建模块

模块被组织成一个称为yii\base\Module::basePath的目录, 在该目录中有子目录如controllers, models, views 分别为对应控制器,模型,视图和其他代码,和应用非常类似。 如下例子显示一个模型的目录结构:

forum/
    Module.php                   模块类文件
    controllers/                 包含控制器类文件
        DefaultController.php    default 控制器类文件
    models/                      包含模型类文件
    views/                       包含控制器视图文件和布局文件
        layouts/                 包含布局文件
        default/                 包含DefaultController控制器视图文件
            index.php            index视图文件

模块类

每个模块都有一个继承yii\base\Module的模块类, 该类文件直接放在模块的yii\base\Module::basePath目录下, 并且能被 自动加载。当一个模块被访问, 和 应用主体实例 类似会创建该模块类唯一实例,模块实例用来帮模块内代码共享数据和组件。

以下示例一个模块类大致定义:

namespace app\modules\forum;

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

        $this->params['foo'] = 'bar';
        // ...  其他初始化代码 ...
    }
}

如果 init() 方法包含很多初始化模块属性代码, 可将他们保存在配置 并在init()中使用以下代码加载:...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2018-01-24 01:14:36
    您需要登录后才可以评论。 立即注册
    相关内容

    富文本编辑器

    富文本编辑器Redactor在Yii2中的应用

    推荐内容

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    BT磁力搜索网站汇总和找不到的资源

    什么是磁力链接,您如何使用?

    Z-Library:全球最大的数字图书馆/含打不开的解决方案/镜像

    使用V2Ray的mKCP协议加速游戏

    v2rayN已停止工作

    【车险课堂】什么是无赔款优待系数ncd,你“造”吗?