V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
7gugu
V2EX  ›  PHP

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

  •  1
     
  •   7gugu · Oct 3, 2016 · 2881 views
    This topic created in 3498 days ago, the information mentioned may be changed or developed.

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

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