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.php的modules中就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');
}
}
`
yii2 创建模块modules的更多相关文章
- Yii2 在模块modules间跳转时,url自动加模块名
		
如目的地址product/detail, 当前模块是admin, 访问时如果目的url'product/detail',会变成'admin/product/detail'. 解决方法:url改成'/p ...
 - yii 创建模块module
		
yii安装完成后的使用: yii也是单入口脚本, 入口文件为 http://hostname/web/index.php 使用模块: 在根目录下创建modules目录 在modules目录下创建模块 ...
 - Lua标准库- 模块(Modules)
		
Lua包库为lua提供简易的加载及创建模块的方法,由require.module方法及package表组成 1.module (name [, ···]) 功能:建立一个模块. module的处理流程 ...
 - AngularJS进阶(四十)创建模块、服务
		
AngularJS进阶(四十)创建模块.服务 学习要点 使用模块构架应用 创建和使用服务 为什么要使用和创建服务与模块? 服务允许你打包可重用的功能,使之能在此应用中使用. 模块允许你打包可重用的功能 ...
 - 【ThinkPHP】解析ThinkPHP5创建模块
		
在根目录下有一个build.php文件,该文件是自动生成的,自动创建模块.build.php的文件内容如下: <?php return [ // 生成应用公共文件 '__file__' => ...
 - thinkphp3.2笔记(2)调试模式,配置项C,创建模块, 四种URL模式,URL生成,跳转
		
一.调试模式 TP的调试模式其实就控制了TP关于配置信息以及函数的缓存功能 如果开启了调试模式,每次访问项目,Tp都会去加载最新的配置以及函数信息. 如果关闭了调试模式,当tp第一次访问时会降配置以及 ...
 - Odoo中创建模块语句
		
使用odoo的odoo-bin命令创建模块,比较方便. 进入终端界面(windows中可以是cmd中,linux中可以是$命令提示符下),以下在Windows中为例: python odoo-bin ...
 - Angular问题02 创建模块失败、 angular-cli名称问题、升级angular-cli
		
1 创建模块失败 1.1 问题描述 利用 ng g m 模块名 创建新模块时出错 1.2 错误信息 1.3 问题原因 angular-cli 版本出现问题 1.4 解决办法 卸载掉之前使用的 angu ...
 - 6、perl创建模块(Exporter)及路径 引用 嵌套 查询模块
		
参考博客:http://www.cnblogs.com/xudongliang/tag/perl/ 1.perl 模块的创建以及制定perl 模块的路径 (1)创建一个Myfun.pm模块. #/us ...
 
随机推荐
- azkaban group分组,权限
			
翻译自:https://azkaban.readthedocs.io/en/latest/userManager.html?highlight=group 1.job project,名为" ...
 - Ueditor设置默认字体、字号、行间距,添加字体种类(转)
			
Ueditor默认字体.字号.行间距的修改: ueditor默认字号是16号,默认字体为sans-serif,默认行间距为5px,如下图所示: 首先,修改ueditor.all.js文件中如上图红框中 ...
 - 使用python解决算法和数据结构--使用栈实现符号匹配
			
现在要自己来实现这些数据结构和常用算法了. 把基础再打牢一些. 栈的作用很大,无须多言. 我尽量看了题目要求,自己来实现代码的. # coding = utf-8 class Stack: def _ ...
 - 使用JDBC连接ElasticSearch6.3(ElasticSearch SQL JDBC)
			
使用JDBC连接ElasticSearch6.3(ElasticSearch SQL JDBC) https://blog.csdn.net/scgaliguodong123_/article/det ...
 - [转] jQuery的deferred对象详解
			
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. ...
 - 洛谷---小L和小K的NOIP考后放松赛
			
链接: https://www.luogu.org/contestnew/show/11805?tdsourcetag=s_pcqq_aiomsg 题解: 没人过的题我就没看 t2: 考虑每个点是朋友 ...
 - U32592 摘果实
			
链接:https://www.luogu.org/problemnew/show/U32592 题解: 60-70分 二分+网络流
 - windows下面使用nssm设置新的服务实现开机自启等
			
1.下载: http://nssm.cc/download/?page=download 2.解压: 根据自己的系统选择相应的32bit或者64bit,然后将相应的可执行文件拷贝到系统环境中.配置环境 ...
 - C# 之 反射性能优化1
			
反射是一种很重要的技术,然而它与直接调用相比性能要慢很多,因此如何优化反射性能也就成为一个不得不面对的问题. 目前最常见的优化反射性能的方法就是采用委托:用委托的方式调用需要反射调用的方法(或者属性. ...
 - 常见内网IP段
			
以下IP段为内网IP段: 192.168.0.0 - 192.168.255.255 172.16.0.0 - 172.31.255.255 10.0.0.0 - 10.255.255.255