作者:手机用户2602905005 | 来源:互联网 | 2014-03-27 00:19
1.library文件夹如果你想扩展CI的功能,那么就把你的类库放在这,注意,这个文件夹是有class组成的,可以看看如果加载library注意事项!2.helper文件夹如果你需要使用一
![CI框架文件夹示意图 CI框架文件夹示意图](http://www.phpddt.com/usr/uploads/2013/01/3412182811.png)
1.library文件夹
如果你想扩展CI的功能,那么就把你的类库放在这,注意,这个文件夹是有class组成的,可以看看如果加载library注意事项!
2.helper文件夹
如果你需要使用一些函数来帮你完成一些小功能,那么就把它放着,这里都是过程式的代码而不是类,一般helper是用于view的,
使用方法如下:
$this->load->helper('filename')
filename 是辅助函数对应的文件名,不包括 _helper.php 扩展名。文件名应该保存为:filename_helper.php,放在helper文件夹下!
3.hooks文件夹
存放你创建的钩子。钩子是 用来装载其它文件的控制方法,不能被控制器等调用,是系统自动调用的。当 CodeIgniter 运行后,它会产生出一个特殊的进程。 当然,您可以自定义一些动作来替代程序运行过程中的某些阶段。例如,您可以在控制器刚刚载入前或刚刚载入后来运行特定的脚本,或者在其他时刻来触发您的脚本。
CI的七个挂载点:
- 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
在最终着色页面发送到浏览器之后,浏览器接收完最终数据的系统执行末尾调用
关于钩子的使用,手册上有详细的使用说明,截图如下:
![php CI框架钩子使用说明 php CI框架钩子使用说明](http://www.phpddt.com/usr/uploads/2013/01/2443970128.png)