zl程序教程

您现在的位置是:首页 >  系统

当前栏目

yii2:模块

模块 yii2
2023-09-14 08:57:52 时间

yii2:模块

模块不同于frontend/frontback单独的前后台单独的主题项目,模块不能单独部署,必须属于某个应用主体(如前后台:frontend/frontback)。

模块置于module目录下,以demo为例:

模块文件大致如上图,

modules/ 

           demo/

                 controllers/DefaultController.php
                 views/default/index.php
                 DemoModule.php

  1、配置:

将模块配置到config/web.php的文件配置中去,在配置文件中新增代码:

 'modules' => [          
           'demo' => [
                'class' => 'app\modules\demo\DemoModule',               
            ],

        ],

  

DemoModule.php:
DemoModule文件继承module类,并定于命名空间:
namespace app\modules\demo;

/**
 * demo module definition class
 */
class DemoModule extends \yii\base\Module
{
    /**
     * @inheritdoc
     */
    public $controllerNamespace = 'app\modules\demo\controllers';

    /**
     * @inheritdoc
     */
    public function init()
    {
        parent::init();

        // custom initialization code goes here
    }
}

  

DefaultController.php文件
DefaultController.php首页要定于命名空间:namespace app\modules\demo(模块名)\controllers;


namespace app\modules\demo\controllers;

use Yii;
use yii\web\Controller;

//use app\compon
/**
 * Default controller for the `demo` module
 */
class DefaultController extends Controller
{

    

    /**
     * Renders the index view for the module
     * @return string
     */
    public function actionIndex()
    {

    	echo "hello";exit;
    }
}

  

访问地址:xxx.com/demo(模块名)/default/index