V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
7gugu
V2EX  ›  PHP

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

  •  1
     
  •   7gugu · 2016-10-03 23:28:42 +08:00 · 2547 次点击
    这是一个创建于 2971 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2016-10-21 14:52:34 +08:00
    minbaby
        1
    minbaby  
       2016-10-04 00:22:28 +08:00   ❤️ 2
    https://github.com/igorw/evenement 看看 doc 目录的那个 plugin 文件, 应该可以看明白
    lslqtz
        2
    lslqtz  
       2016-10-09 07:29:21 +08:00
    我也有疑问,我想了想:
    可以在每个提供接口的地方引入一个文件(不同文件名),而这个文件则得到一个已安装插件的数组,并判断对应插件是否有这个接口的文件名,如果没有则插件不需要这个接口,如果有则引入并执行。(配合优先级决定插件执行顺序)
    lslqtz
        3
    lslqtz  
       2016-10-09 07:31:25 +08:00
    你的想法和我的差不多,没啥问题,可以通过引入相关函数,让函数在需要的指定的位置执行所需的操作。
    lslqtz
        4
    lslqtz  
       2016-10-09 07:32:14 +08:00
    @minbaby 好评
    7gugu
        5
    7gugu  
    OP
       2016-10-21 14:52:34 +08:00
    @lslqtz 后来我看了下面对像的编写,感觉这样写应该是更易于他人维护一些,代码是自己挖的坑,别人做二次开发的时候就可能会掉下去吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5167 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.