现在的位置: 首页 > 综合 > 正文

CodeIgniter 中过的钩子流程

2013年10月13日 ⁄ 综合 ⁄ 共 813字 ⁄ 字号 评论关闭

1、首先要在application/config/hooks.php中添加一下内容:

$hook["post_controller"]= array(
/* 被 调用的类  :这个类在appliaction/hooks/hooks类*/ 
                        'class' => 'hooks',  
/*被调用的函数,直接写类中的方法名就可以了 */             
                        'function' => 'filter',        
/*hook文件名:即类的文件名 */
'filename' => 'hooks.php',
/*hook文件的路径 :默认放到*appliaction/hooks路径下*/ 
                        'filepath' => 'hooks',   
/*如果调用的函数需要参数,就在这个数组里设置  */  
                       'params'   => array(
  "title"=>"test hook",
  "content"=>"post_controller"
)   
                        );
//$hook['post_controller'][]中的 post_controller是HOOK的挂钩点,注意了,不同的挂钩点,有不同的作用。

这个数组决定要调用那个文件下的那个类,然后那个类下的那个方法,及传递的参数。

2、因为上面声明的类是hooks.php,所以要在application/hooks下新建hooks.php页面,内容如下

<?php
class hooks
{
    function __construct()
    {
    }
 
    function filter($params)
    {
    var_dump($params);
    echo "test hooks";
    }
}

//其中的$params就是上面数据定义的数组,传递过来的参数。

3、这样运行ci的时候,这个钩子就会先执行。这样可以实现权限的控制,url的跳转等等。

【上篇】
【下篇】

抱歉!评论已关闭.