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的跳转等等。