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 25 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
调整PHP的性能
Oct 30 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php图像处理类实例
Jul 28 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
php TP5框架生成二维码链接
Apr 01 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
使用php实现截取指定长度
2013/08/06 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
php实现搜索类封装示例
2016/03/31 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
Python中装饰器的一个妙用
2015/02/08 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
python爬取淘宝商品销量信息
2018/11/16 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
2014年工会工作总结
2014/11/12 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
摘录式读书笔记
2015/07/01 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python