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