search

Home  >  Q&A  >  body text

thinkphp - php程序的插件机制原理一般是怎么实现的呢?如wordpress插件,DZ!插件等

php程序的插件机制原理一般是怎么实现的呢?如wordpress插件,DZ!插件等

thinkphp的系统钩子,标签位算插件吗,插件控制器又是怎么回事呢?

自己怎么开发插件呢,插件实现的原理都不懂,真心纠结,有知道的帮忙解惑,感激不尽!

怪我咯怪我咯2774 days ago733

reply all(2)I'll reply

  • ringa_lee

    ringa_lee2017-04-10 15:32:49

    给你写一段简单的代码你就懂了,

    php<?php
    $func = array();
    
     function do_action($name){
         global $func;
         if(isset($func[$name])){
             for($i=0; $i< count($func[$name]); $i++){
                 $func[$name][$i]();
             }
          }
     }
    
    function add_action($name, $call_name){
        global $func;
        $func[$name][] = $call_name; 
    }
    ?>
    

    然后通过do_action添加钩子,add_action实现插件函数调用

    reply
    0
  • 黄舟

    黄舟2017-04-10 15:32:49

    你可以了解下 注册设计模式 就是用这个实现的

    reply
    0
  • Cancelreply