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往windows中添加用户
Dec 06 PHP
判断是否为指定长度内字符串的php函数
Feb 16 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
php获取数组中重复数据的两种方法
Jun 28 PHP
php实现建立多层级目录的方法
Jul 19 PHP
PHP面向对象详解(三)
Dec 07 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
PHP构造二叉树算法示例
Jun 21 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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
jQuery 源码分析笔记
2011/05/25 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
vue组件生命周期详解
2017/11/07 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python中max函数用法实例分析
2015/07/17 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python 面试中 8 个必考问题
2018/11/16 Python
Python中文编码知识点
2019/02/18 Python
Python List cmp()知识点总结
2019/02/18 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
研讨会主持词
2014/04/02 职场文书
医学专业自荐信
2014/06/14 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书