yii2 创建模块modules

方案一:如果模块儿较少,不用专门给模块儿目录定义别名,酱紫做就ok啦。

1、在项目根目录下面创建一个 modules 目录。

2、进入 gii : http://localhost/basic/web/index.php?r=gii 

假如我现在需要生成一个 report 的模块儿,可以按如下填写:

然后将它提示生成的那一行 repost=>['class'=>'app\modules\report\Module'] 配置到 app\config\web.phpmodules中就ok啦。

如果需要访问的话,路由为:http://localhost/basic/web/index.php?r=report/default/index

report 为模块儿名,default为控制器名,index为方法名

 

 

方案二:如果模块儿很多,建意给每个模块儿单独定义一个别名,

此处的别名定义是要在预加载的时候就定义好,可不是在 app\config\web.php的 aliases=>[ ] 中定义的哦

方法:1、我们可以先创建一个 common 目录,在 common中创建一个 bootstrap.php 文件,当然也可以自定义。

2、在 common\bootstrap.php 中添加如下别名:

Yii::setAlias('report', dirname(__DIR__) . '/modules/report'); 

// 看清楚哦,上面的别名定义可是没有 @ 符号的哦,因为我们要把它当成模块儿的根目录,模块其实也是一个独立的软件单元,它包含 模型, 视图, 控制器 和其他支持的组件。 在许多方面上,模块看起来像一个 应用,所以我们可以把它暂时看成一个应用

3、在 入口文件 index.php 中添加一行:

defined('YII_DEBUG') or define('YII_DEBUG', true);  //标识应用是否应用在调试模式
defined('YII_ENV') or define('YII_ENV', 'dev');  // 标识应用运行的环境
require(__DIR__ . '/../vendor/autoload.php'); // 注册 composer 自动加载器
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); // 包含 Yii 类文件

require(__DIR__ . '/../common/bootstrap.php');//这就是我们自己添加的文件了

$config = require(__DIR__ . '/../config/web.php');  // 加载应用配置

把它放到入口文件中,系统启动时就会被加载,那么此时 report 就相于  $_SERVER['DOCUMENT_ROOT']\modules\report 的路径啦,模块儿中的命名空间都可以以 report开头

例如,此时的 modules\report\Module.php 的命名空间就是 namespace report

<?php

namespace report;

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

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

        // custom initialization code goes here
    }
}

控制的 命名空间也是 namespace report\controllers

namespace report\controllers;

use yii\web\Controller;

/**
 * Default controller for the `report` module
 */
class DefaultController extends Controller
{
    /**
     * Renders the index view for the module
     * @return string
     */
    public function actionIndex()
    {
        return $this->render('index');
    }
}

`

 

转载于:https://www.cnblogs.com/chrdai/p/9046478.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值