YII2框架中添加自定义模块的方法实例分析


Posted in PHP onMarch 18, 2020

本文实例讲述了YII2框架中添加自定义模块的方法。分享给大家供大家参考,具体如下:

有些时候系统功能过于复杂,这时我们需要通过模块把一些功能区分开来,便于管理与维护。

我用的是Yii2的基本应用程序模板,程序其实已经给我们提供了一个模块,就是app本身。YII2中是可以无限嵌套模块的。不过一般不要超过2层。

我们在app下创建一个modules的目录,并创建一个api子目录,子目录下创建Api.php文件。

Api.php代码如下:

<?php

namespace app\modules\api;

use yii\base\Module;

//注意模块必须继承自yii\base\Module
class Api extends Module
{

}

在api子目录下,我们分别创建controllers,views,models目录,你会发现,这里的目录结构跟app的很像,其实app就是一个模块,不过它是顶层模块。

YII2框架中添加自定义模块的方法实例分析

然后我们在controllers里创建一个IndexController.php,在views下创建index目录,并创建index.php

IndexController.php代码如下:

<?php

//注意这里的命名空间,要跟你的目录对应
namespace app\modules\api\controllers;

use yii\web\Controller;


class IndexController extends Controller
{

  public function actionIndex()
  {
    return $this->render('index', ['data' => 'hello world']);
  }
}

index.php代码如下:

<?php echo $data; ?>

最后我们还需要在config/web.php中配置一个我们的模块,就可以访问了。

'modules' => [
	'api' => [
		'class' => 'app\modules\api\Api',
	],
],

通过api/index/index来访问,如果没有配置URL美化,通过?r=api/index/index来访问

YII2框架中添加自定义模块的方法实例分析

这样我们的api模块就创建好了,当然api模块下我们还可以创建modules目录来创建子模块,不过最好不要超过2层。

不过YII2中的GII已经帮我们做好了生成模块的操作,不需要像上面那样那么麻烦自已配置。

通过访问/gii,或者?r=gii,来使用GII。

YII2框架中添加自定义模块的方法实例分析

我们选择Module Generator,点击start。

YII2框架中添加自定义模块的方法实例分析

点击preview,查看文件和路径是否正确,点击Generate进行生成。

YII2框架中添加自定义模块的方法实例分析

这样,一个模块就创建好了。是不是很方便。

YII2框架中添加自定义模块的方法实例分析

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
APMServ使用说明
Oct 23 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
用php解析html的实现代码
Aug 08 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php数组去重复数据示例
Feb 25 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
YII2框架中日志的配置与使用方法实例分析
Mar 18 #PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 #PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 #PHP
Laravel框架下的Contracts契约详解
Mar 17 #PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 #PHP
PHP代码加密的方法总结
Mar 13 #PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 #PHP
You might like
PHP Stream_*系列函数
2010/08/01 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
juqery 学习之四 筛选过滤
2010/11/30 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
python去掉空白行的多种实现代码
2018/03/19 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
基于python操作ES实例详解
2019/11/16 Python
python随机数分布random均匀分布实例
2019/11/27 Python
python中round函数保留两位小数的方法
2020/12/04 Python
python中xlutils库用法浅析
2020/12/29 Python
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
运动会广播稿500字
2014/01/28 职场文书
员工手册编写范本
2015/05/14 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书