码迷,mamicode.com
首页 > Web开发 > 详细

php 添加钩子实例

时间:2015-07-23 00:32:54      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

<?php
/*定义钩子函数*/
function add($hook,$actionFunc)
{
    global $emHooks;
    if(isset($emHooks[$hook]))
    {
        if(!in_array($actionFunc, $emHooks[$hook]))
        {
            $emHooks[$hook][] = $actionFunc;
        }
    }
    else
    {
        $emHooks[$hook][] = $actionFunc;
    }
    return true;
}

/*执行挂载钩子上的函数*/
function doo($hook)
{
    global $emHooks;
    $args = array_slice(func_get_args(),1);
    if(isset($emHooks[$hook]))
    {
        foreach ($emHooks[$hook] as $fun)
        {
            # code...
            $string  =  call_user_func_array($fun, $args);
        }
    }
    else
    {
        echo "not hook:".$hook;
    }
}
/*业务函数*/
function cnt()
{
    
    echo "dddd<br>";
}

/*业务函数*/
function say()
{
    echo "this is a hook";
}
//注册钩子
 add("index","cnt");
 add("index","say");
//在改调用的地方 调用钩子
doo("index");

php 添加钩子实例

标签:

原文地址:http://www.cnblogs.com/niun/p/4668979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!