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 相关文章推荐
用PHP调用Oracle存储过程
Oct 09 PHP
用 PHP5 轻松解析 XML
Dec 04 PHP
深入解析php中的foreach问题
Jun 30 PHP
php代码审计比较有意思的例子
May 07 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
async和DOM Script文件加载比较
Jul 20 PHP
php获取当前url地址的方法小结
Jan 10 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
PHP实现递归的三种方法
Jul 04 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 eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
php中JSON的使用与转换
2015/01/14 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python对url格式解析的方法
2015/05/13 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
python实现移位加密和解密
2019/03/22 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
python空元组在all中返回结果详解
2020/12/15 Python
优秀员工年终发言演讲稿
2014/01/01 职场文书
房地产营销策划方案
2014/02/08 职场文书
中国好声音华少广告词
2014/03/17 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
经济管理专业求职信
2014/06/09 职场文书
现场活动策划方案
2014/08/22 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
转让协议书范本
2014/09/13 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
语文教师求职信范文
2015/03/20 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android