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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php中的strpos使用示例
Feb 27 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
php微信开发之上传临时素材
Jun 24 PHP
php出租房数据管理及搜索页面
May 23 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
php实现等比例压缩图片
Jul 26 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
PHP实现文件上传后台处理脚本
Mar 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函数常用用法小结
2010/02/08 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
matplotlib绘制动画代码示例
2018/01/02 Python
python开头的coding设置方法
2019/08/08 Python
Pycharm小白级简单使用教程
2020/01/08 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
承认错误的检讨书
2014/01/30 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
浅谈如何提高PHP代码的质量
2021/05/28 PHP
Python实现归一化算法详情
2022/03/18 Python