前言
把一系列相关联的功能使用模块开发,好处多多,维护起来很方便,模块还可以单独发布出去,让下一个项目之间使用,真是方便。
下面我就写一个开发扩展的简单教程。
Gii
gii 自带帮助我们生成一个基本的扩展文件结构,地址如下: www.xxx.com/gii/extension
先预览一下,成功之后可以点击生成按钮。
然后页面会提示你如何操作。他让我们上传到 GitHub 上去,再开发、使用。但是一般我们一个扩展刚生成,还没写功能,上传到 GitHub 再开发,太麻烦了。
下面我来谈谈我是怎么使用的。
使用
先在配置文件添加一个别名,代码如下:
<?php
return [ 'components' => [
],
'aliases' => [
'@yiier/rbac' => '@backend/runtime/tmp-extensions/yii2-rbac/src',
], ];
只要添加这行就可以使用扩展的命名空间了,就可以愉快的开发了。
同样的道理,如果我们再 GitHub 上看到一个扩展不能用 composer 下载下来怎么办?其实我们可以自己定义一个 vendor 目录,然后给扩展配置一个路径别名就是可以用的。
注意
按照习惯,我们的扩展一般写在 src
目录下,所以你要手动新建一个 src
文件夹,然后再用 Gii 去生成模块到 src
文件夹里,并且还要改扩展根目录下的 composer.json 文件。
"autoload": {
"psr-4": {
// "yiier\\rbac\\": "" // 原来的
"yiier\\rbac\\": "src"
}
}
下面分享一些优秀的开源模块 https://github.com/forecho/awesome-yii2#module-模块