AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
钩子 === 在模版文件中经常看到调用钩子的用法 如: ```html <!--{hook/global_usernav_extra2}--> ``` 这行代码在模版解析文件中会如此解析: ```php $template = preg_replace("/\{hook\/(\w+?)(\s+(.+?))?\}/ie", "\$this->hooktags('\\1', '\\3')", $template); ``` 可以看到是直接调用$this->hooktags方法,那hooktags是怎么定义的呢?请看: ```php function hooktags($hookid, $key = '') { global $_G; $i = count($this->replacecode['search']); $this->replacecode['search'][$i] = $search = "<!--HOOK_TAG_$i-->"; $dev = ''; if(isset($_G['config']['plugindeveloper']) && $_G['config']['plugindeveloper'] == 2) { $dev = "echo '<hook>[".($key ? 'array' : 'string')." $hookid".($key ? '/\'.'.$key.'.\'' : '')."]</hook>';"; } $key = $key !== '' ? "[$key]" : ''; $this->replacecode['replace'][$i] = "<?php {$dev}if(!empty(\$_G['setting']['pluginhooks']['$hookid']$key)) echo \$_G['setting']['pluginhooks']['$hookid']$key;?>"; return $search; } ```