正在为你努力加载中........

点滴记录 分享
20
2013-4
首页 >> CodeIgniter >> CodeIgniter 利用钩子控制权限

CodeIgniter 利用钩子控制权限

1:首先找到配置文件config.php打开钩子
/*
|--------------------------------------------------------------------------
| Enable/Disable System Hooks
|--------------------------------------------------------------------------
|
| If you would like to use the 'hooks' feature you must enable it by
| setting this variable to TRUE (boolean).  See the user guide for details.
|
*/
$config['enable_hooks'] = TRUE;//运行用钩子

2:找到hook.php文件
 
//定义在控制器完全运行之后调用此类
$hook['post_controller_constructor'] = array(   
'class'=> 'Check_authority',
'function' => 'auth',   
'filename' => 'Check_authority.php',   
'filepath' => 'filter'
 );

上面的数组的意思就是在实例化控制器之后进行调用钩子所定义的文件 Check_authority.php
参考官方上面说的是有几种钩子
pre_system 系统执行的早期调用.仅仅在benchmark 和 hooks 类 加载完毕的时候. 没有执行路由或者其它的过程.
pre_controller 在调用你的任何控制器之前调用.此时所用的基础类,路由选择和安全性检查都已完成.
post_controller_constructor 在你的控制器实例化之后,任何方法调用之前调用.
post_controller 在你的控制器完全运行之后调用.
display_override 覆盖_display()函数, 用来在系统执行末尾向web浏览器发送最终页面.这允许你用自己的方法来显示.注意,你需要通过 $this->CI =& get_instance() 引用 CI 超级对象,然后这样的最终数据可以通过调用 $this->CI->output->get_output() 来获得。
cache_override 可以让你调用自己的函数来取代output类中的_display_cache() 函数.这可以让你使用自己的缓存显示方法
post_system 在最终着色页面发送到浏览器之后,浏览器接收完最终数据的系统执行末尾调用

 


作者:一根烟的寂寞 分类:CodeIgniter
浏览:95694 评论:0

发表评论: