zoukankan      html  css  js  c++  java
  • yii2 modules模块配置指南

    在Yii2 中模块是可以无限级嵌套的,也就是说,模块可以包含另一个包含模块的模块,我们称前者为父模块,后者为子模块, 子模块必须在父模块的yiibaseModule::modules属性中申明,例如:
    在Yii2的advanced版本的rest-api下建立嵌套模块,在forum模块(父模块)下嵌入admin模块(子模块)
    api下的modules的文件结构如下

    --api
    ----modules
    ------forum(父模块)
    --------Module.php
    --------controllers
    --------models
    --------admin(子模块)
    ----------Module.php
    ----------models
    ----------controllers
    

    父模块的配置

    forum下的Module.php需要修改init方法

     namespace apimodulesforum;
        
        class Module extends yiibaseModule
        {
            public $controllerNamespace = 'apimodulesforumcontrollers';
            public function init()
            {
                parent::init();
        
                $this->modules = [
                    'admin' => [
                        // 此处应考虑使用一个更短的命名空间
                        'class' => 'apimodulesforumadminModule',
                    ],
                ];
            }
        }
    

    子模块的配置

    admin下的Module.php

    namespace apimodulesforumadmin;
    
    class Module extends yiibaseModule
    {
        public $controllerNamespace = 'apimodulesforumadmincontrollers';
        public function init()
        {
            parent::init();
         //     Yii::configure($this, require(__DIR__ . '/config.php'));
        }
    }
    

    模块路由

    在嵌套模块中的控制器,它的路由应包含它所有祖先模块的ID,例如forum/admin/default/index 代表 在模块forum中子模块admin中default控制器的index操作。

  • 相关阅读:
    leetcode 13. Roman to Integer
    python 判断是否为有效域名
    leetcode 169. Majority Element
    leetcode 733. Flood Fill
    最大信息系数——检测变量之间非线性相关性
    leetcode 453. Minimum Moves to Equal Array Elements
    leetcode 492. Construct the Rectangle
    leetcode 598. Range Addition II
    leetcode 349. Intersection of Two Arrays
    leetcode 171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/xiong63/p/7097484.html
Copyright © 2011-2022 走看看