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

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

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

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

阅读 6k
2 个回答

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

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实现插件函数调用

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题