CI框架中libraries,helpers,hooks文件夹详细说明


Posted in PHP onJune 10, 2014

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

在最终着色页面发送到浏览器之后,浏览器接收完最终数据的系统执行末尾调用 
关于钩子的使用,手册上有详细的使用说明,截图如下:

CI框架中libraries,helpers,hooks文件夹详细说明

PHP 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Oct 09 PHP
PHP自定义函数收代码
Aug 01 PHP
探讨Hessian在PHP中的使用分析
Jun 13 PHP
PHP代码审核的详细介绍
Jun 13 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 PHP
PHP图片等比例缩放生成缩略图函数分享
Jun 10 #PHP
CI(CodeIgniter)框架中的增删改查操作
Jun 10 #PHP
PHP定时更新程序设计思路分享
Jun 10 #PHP
CI(CodeIgniter)框架配置
Jun 10 #PHP
教你如何用php实现LOL数据远程获取
Jun 10 #PHP
PHP面向对象教程之自定义类
Jun 10 #PHP
微信营销平台系统?刮刮乐的开发
Jun 10 #PHP
You might like
php常用数组函数实例小结
2016/12/29 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
Python编程中装饰器的使用示例解析
2016/06/20 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
Python threading的使用方法解析
2019/08/28 Python
Python装饰器结合递归原理解析
2020/07/02 Python
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
一夜的工作教学反思
2014/02/08 职场文书
幼教求职信
2014/03/12 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
医院志愿者活动总结
2015/05/06 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
Python 正则模块详情
2021/11/02 Python