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实际应用经验篇(5)
Oct 09 PHP
mysql5详细安装教程
Jan 15 PHP
php实现文件下载更能介绍
Nov 23 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
php跨站攻击实例分析
Oct 28 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
php数组分页实现方法
Apr 30 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
PHP回调函数简单用法示例
May 08 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
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
基于JQuery的cookie插件
2010/04/07 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python中实现switch功能实例解析
2018/01/11 Python
Python assert语句的简单使用示例
2019/07/28 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
监守自盗观后感
2015/06/10 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python