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 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 PHP
PHP的基本常识小结
Jul 05 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
php-fpm服务启动脚本的方法
Apr 27 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
Apr 27 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持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
python 识别图片中的文字信息方法
2018/05/10 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
python学生信息管理系统实现代码
2019/12/17 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Python实现名片管理系统
2020/02/14 Python
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
电子商务个人自荐信
2013/12/12 职场文书
入党自荐书范文
2014/03/09 职场文书
有关环保的标语
2014/06/13 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
2014年科技工作总结
2014/11/26 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
治庸问责工作总结
2015/08/11 职场文书
小学思品教学反思
2016/02/20 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android