畅学网
Emlog插件挂钩使用
2014-10-11 Andre tian


首先声明,本主只有少量的网页制作基础,对于PHP的理解还是建立在C语言的基础上,以往从Emlog官网下载各种插件,使用的时候总是不能很好的控制插件的显示效果,经过代码的分析,大致了解了模板插件对钩子的使用现说明如下:



钩子设计到两个函数:



1.addAction('code', 'show'):写在插件文件的底部,用来添加一个show的函数到钩子code处;



/**



   * 该函数在插件中调用,挂载插件函数到预留的钩子上

         *

         * @param string $hook

         * @param string $actionFunc

         * @return boolearn

         */

        function addAction($hook, $actionFunc) {

        global $emHooks;

        if (!@in_array($actionFunc, $emHooks[$hook])) {

        $emHooks[$hook][] = $actionFunc;

        }

        return true;

        }

      2.<?php doAction('code', $logData); ?>:本行代码放置的位置就是code钩子的位置,$logData只是一个array变量类型说明,即是在此为至执行钩子下边的函数,需要说明的是,一个钩子下边可以有很多函数,具体函数的执行顺序还没闹明白,以后知道了在不补上。



 /**

         * 执行挂在钩子上的函数,支持多参数 eg:doAction('post_comment', $author, $email, $url, $comment);

         *

         * @param string $hook

         */

        function doAction($hook) {

        global $emHooks;

        $args = array_slice(func_get_args(), 1);

        if (isset($emHooks[$hook])) {

        foreach ($emHooks[$hook] as $function) {

        $string = call_user_func_array($function, $args);

        }

        }

        }

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容