CodeIgniter 的钩子功能,使得我们可以在不修改系统核心文件的基础上,来改变或增加系统的核心运行功能。可是钩子究竟该怎么用呢?虽然不是很难,不过很多刚用ci的朋友可能还是不明白怎么用。
通过本文的简单实例,大家一下就会明白的。
手册非常好,大家不要舍近求远哦!先看手册,不懂的地方再去别的地方寻求答案,一点个人的建议。
使用hooks,需要以下三步:
- 在config/config.php中开启;
$config['enable_hooks'] = TRUE;
- 钩子是在 application/config/hooks.php 文件中定义的;
$hook['pre_controller'] = array(
// 'class' => 'MyClass' //可选,所以俺就省了
'function' => 'is_login',
'filename' => 'check_login.php',
'filepath' => 'hooks',
'params' => array('beer', 'wine', 'snacks') //也是可选,这里演示下用法
); - 在application/hooks/中新建check_login.php文件,编写自己的业务逻辑;
<?php function is_login($param)
{
var_dump($param);exit;
}
运行程序,页面打印出如下结果:
现在,大家应该明白钩子是怎么回事了。