CodeIgniter配置之autoload.php自动加载用法分析


Posted in PHP onJanuary 20, 2016

本文实例分析了CodeIgniter配置之autoload.php自动加载用法。分享给大家供大家参考,具体如下:

CodeIgniter带了自动加载的功能,可以全局加载类库、模型、配置、语言包等,对于需要全局使用的功能相当方便。

例如:有个全局函数写在app_helper.php中,需要全局加载这个函数,只需设置autoload.php:

$autoload['helper'] = array('app');

接下来,所有的地方都可以使用了,配置、模型等配置相似。但方便的同时也需要考虑下该种加载方式有何弊端。

如果一个项目中分了两块,如前台、后台,那这个功能是否为前后台都必须? 如果前后台还有不同的业务模块区分, 是否是每个模块都要用到?

如果都需要, 那写在这里就很好, 如果不需要, 就不建议写在这里。

对于相关的类库、函数调用应该按需加载

实现加载的方式有很多,可以在指定的页面load, 可以在公用的控制器、函数里面load, 一经load即可全局使用。个人的常用做法是忽略该文件,手动加载全局函数等。

说到这里,顺便说下CI的加载机制。下面为类库、函数等的加载方式:

$this->load->library('session');
$this->load->model('hello_model');
$this->load->helper(array('url', 'array'));
$this->load->language(array('user_menu', 'user_tips'));

加载方式统一,使用起来比较简单,但load类库时传参有点不方便。再次load类库时不会再去加载,而是从保存好的静态数组中拿出来,需要注意下成员属性的状态,防止因为值还存在而导致程序异常。

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
ajax缓存问题解决途径
Dec 06 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
php中url函数介绍及使用示例
Feb 13 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
Twig模板引擎用法入门教程
Jan 20 #PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 #PHP
CodeIgniter自定义控制器MY_Controller用法分析
Jan 20 #PHP
CodeIgniter钩子用法实例详解
Jan 20 #PHP
CodeIgniter配置之database.php用法实例分析
Jan 20 #PHP
CodeIgniter多语言实现方法详解
Jan 20 #PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 #PHP
You might like
preg_match_all使用心得分享
2014/01/31 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
Three.js基础学习教程
2017/11/16 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
Vue实现购物车基本功能
2020/11/08 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
python动态加载包的方法小结
2016/04/18 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
python线程优先级队列知识点总结
2021/02/28 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
白宫黑市官网:White House Black Market
2016/11/17 全球购物
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
岗位聘任书范文
2014/03/29 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
关于安全的广播稿
2014/10/23 职场文书
2014年校长工作总结
2014/12/11 职场文书
三好学生事迹材料
2014/12/24 职场文书
中学生运动会广播稿
2015/08/19 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python