教你如何写一个 Yii2 扩展

时间:2021-02-05 16:20:30

前言

把一系列相关联的功能使用模块开发,好处多多,维护起来很方便,模块还可以单独发布出去,让下一个项目之间使用,真是方便。

下面我就写一个开发扩展的简单教程。

Gii

gii 自带帮助我们生成一个基本的扩展文件结构,地址如下: www.xxx.com/gii/extension

教你如何写一个 Yii2 扩展

先预览一下,成功之后可以点击生成按钮。

然后页面会提示你如何操作。他让我们上传到 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-模块

来源地址:http://www.getyii.com/topic/186