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 不错的学习资料
Feb 06 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
php学习之 认清变量的作用范围
Jan 26 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
PHP中的use关键字概述
Jul 23 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
php实现生成验证码实例分享
Apr 10 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 PHP
php中的依赖注入实例详解
Aug 14 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中一个完整表单处理实现代码
2011/11/10 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
js实现特定位取反原理及示例
2014/06/30 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
python简单分割文件的方法
2015/07/30 Python
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
农村婚庆主持词
2015/06/29 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
mysql 索引合并的使用
2021/08/30 MySQL