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 27 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
php实现微信支付之退款功能
May 30 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 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
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
js实现简单页面全屏
2019/09/17 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
python的urllib模块显示下载进度示例
2014/01/17 Python
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Python 日期与时间转换的方法
2020/08/01 Python
市场部专员岗位职责
2013/11/30 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
团队拓展活动总结
2014/08/27 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
防汛工作情况汇报
2014/10/28 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
Python数据结构之队列详解
2022/03/21 Python