关于onethink的插架的执行过程,以后台首页的{:hook('AdminIndex')}
为例开始进行分析,此方法为
function hook($hook,$params=array()){
\Think\Hook::listen($hook,$params);
}
hook方法接着调用了
onethink\ThinkPHP\Library\Think\Hook.class.php
下的listen方法,listen方法接着调用了当前文件下的exec方法,此时插件开始执行
static public function listen($tag, &$params=NULL) {
if(isset(self::$tags[$tag])) {
if(APP_DEBUG) {
G($tag.'Start');
trace('[ '.$tag.' ] --START--','','INFO');
}
foreach (self::$tags[$tag] as $name) {
APP_DEBUG && G($name.'_start');
$result = self::exec($name, $tag,$params);
if(APP_DEBUG){
G(