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生成随机数或者字符串的代码
Sep 05 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
php获取访问者IP地址汇总
Apr 24 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
php合并数组并保留键值的实现方法
Mar 12 PHP
PHP给前端返回一个JSON对象的实例讲解
May 31 PHP
PHP中的Iterator迭代对象属性详解
Apr 12 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中防止SQL注入最好的方法是什么
2013/06/10 PHP
php实现的RSS生成类实例
2015/04/23 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
js实现文字跑马灯效果
2017/02/23 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
python读取中文txt文本的方法
2018/04/12 Python
python 重命名轴索引的方法
2018/11/10 Python
python pillow模块使用方法详解
2019/08/30 Python
python基于opencv检测程序运行效率
2019/12/28 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
计算机开发个人求职信范文
2013/09/26 职场文书
学校门卫管理制度
2014/01/30 职场文书
小学生暑假家长评语
2014/04/17 职场文书
节水口号标语
2014/06/19 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
幼师中班个人总结
2015/02/12 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python