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 相关文章推荐
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
PHP session会话的安全性分析
Sep 08 PHP
php使用pack处理二进制文件的方法
Jul 03 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
标准PHP的AES加密算法类
Mar 12 PHP
详解Window7 下开发php扩展
Dec 31 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
PHP中有关长整数的一些操作教程
Sep 11 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
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
PHP中cookie知识点学习
2018/05/06 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
python使用Tesseract库识别验证
2018/03/21 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
春季运动会开幕词
2015/01/28 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers