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 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
Windows2003 下 MySQL 数据库每天自动备份
Dec 21 PHP
php设计模式 Proxy (代理模式)
Jun 26 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
关于crontab的使用详解
Jun 24 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
PHP导出带样式的Excel示例代码
Aug 28 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 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文件上传实例教程
2014/08/22 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
使用js+jquery实现无限极联动
2013/05/23 Javascript
JS获取时间的方法
2015/01/21 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
React组件生命周期详解
2017/07/03 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
python实现简易版计算器
2020/06/22 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
用python写PDF转换器的实现
2020/10/29 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
村级四风对照检查材料
2014/08/24 职场文书
挂靠协议书
2015/01/27 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书