用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7466|回复: 6
收起左侧

[中级] 在CI中使用自定义钩子

[复制链接]
发表于 2012-1-31 01:04:12 | 显示全部楼层 |阅读模式
CI提供的钩子的功能,但是在手册中并没有做为类库对外提供。其实是可以直接使用的。1、config.php文件中启用hook
PHP复制代码
 
$config['enable_hooks'] = TRUE;
 
复制代码

2、配置hooks.php配置文件
PHP复制代码
 
$hook['after_login'] = array(
                                'class'    => 'MyClass',
                                'function' => 'Myfunction',
                                'filename' => 'Myclass.php',
                                'filepath' => 'hooks'
                                );
 
 
复制代码

3、在hooks目录下新建MyClass.php,内容如下:
PHP复制代码
 
<?php
class MyClass{
 
    function Myfunction()
    {
        echo "TEST";
    }
}
?>
 
 
复制代码

4、使用
在任意控制器里:
PHP复制代码
 
$this->hooks->_call_hook('after_login');
 
复制代码

访问这个控制器,页面上打出TEST,说明钩子被调用。
注意到这里的挂载点,after_login是我们自己随便定义的。我们可以在用户登录后,加入这样一句代码,方便将来处理登录后的一些操作。

评分

参与人数 1威望 +5 收起 理由
Hex + 5 很给力!

查看全部评分

发表于 2012-1-31 10:59:07 | 显示全部楼层
支持一下
发表于 2012-11-2 15:24:49 | 显示全部楼层
我正在疑惑怎么埋下钩子呢
发表于 2012-11-5 08:53:03 | 显示全部楼层
^淡如清风 发表于 2012-11-2 15:24
我正在疑惑怎么埋下钩子呢

http://cier.phpfogapp.com/index.php/docs/app/route
发表于 2013-5-7 17:17:40 | 显示全部楼层
钩子有什么作用呢?
发表于 2013-5-7 17:18:14 | 显示全部楼层
钩子如何使用呢?
发表于 2017-6-29 14:20:49 | 显示全部楼层
不是自动调用的吗

本版积分规则