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 函数语法介绍一
Jun 14 PHP
php短域名转换为实际域名函数
Jan 17 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
基于PHP文件操作的详解
Jun 05 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
php实现用已经过去多长时间的方式显示时间
Jun 05 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
php中错误处理操作实例分析
Aug 23 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 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
ThinkPHP路由详解
2015/07/27 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
js 手机号码合法性验证代码集合
2012/09/29 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
Python中的面向对象编程详解(上)
2015/04/13 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
python 图像平移和旋转的实例
2019/01/10 Python
python协程之动态添加任务的方法
2019/02/19 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
Python爬虫教程知识点总结
2020/10/19 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
电大物流学生的自我评价
2013/10/25 职场文书
自我评价范文
2013/12/22 职场文书
联谊会主持词
2014/03/26 职场文书
一年级评语大全
2014/04/23 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
火锅店的活动方案
2014/08/15 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书