[PHP]开发一个插件系统的疑问

2016-10-03 23:28:42 +08:00
 7gugu

本人是一个业余的 PHP 开发者,我其实一直很不明白网上所解释的插件系统的实现方法. 为何一定要使用一个类来监听插件的情况?(php 不应该只是单独的一次运行编译然后输出吗?) 假如我用的是面过程的编写方法呢? 我的想法是:主程序可以在指定的行数遍历插件[已激活]进行调用运行,而且在钩子(我更多理解为是对函数的引用,求纠正)的实现上我完全可以单纯的封装成一个函数.编写插件的时候只需引用相应函数即可,而且内部函数我认为对于开发者是不需过分的进行干涉,那所谓的易维护性不就不存在了吗?求各位大牛指导 OWO

2542 次点击
所在节点    PHP
5 条回复
minbaby
2016-10-04 00:22:28 +08:00
https://github.com/igorw/evenement 看看 doc 目录的那个 plugin 文件, 应该可以看明白
lslqtz
2016-10-09 07:29:21 +08:00
我也有疑问,我想了想:
可以在每个提供接口的地方引入一个文件(不同文件名),而这个文件则得到一个已安装插件的数组,并判断对应插件是否有这个接口的文件名,如果没有则插件不需要这个接口,如果有则引入并执行。(配合优先级决定插件执行顺序)
lslqtz
2016-10-09 07:31:25 +08:00
你的想法和我的差不多,没啥问题,可以通过引入相关函数,让函数在需要的指定的位置执行所需的操作。
lslqtz
2016-10-09 07:32:14 +08:00
@minbaby 好评
7gugu
2016-10-21 14:52:34 +08:00
@lslqtz 后来我看了下面对像的编写,感觉这样写应该是更易于他人维护一些,代码是自己挖的坑,别人做二次开发的时候就可能会掉下去吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX