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 相关文章推荐
在Windows系统上安装PHP运行环境文字教程
Jul 19 PHP
PHP学习笔记之二
Jan 17 PHP
使用XDebug调试及单元测试覆盖率分析
Jan 27 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 PHP
php文件操作之小型留言本实例
Jun 20 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
通过php动态传数据到highcharts
Apr 05 PHP
PHP判断一个数组是另一个数组子集的方法详解
Jul 31 PHP
360搜索引擎自动收录php改写方案
Apr 28 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
PHP多个版本的分析解释
2011/07/21 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP代码加密的方法总结
2020/03/13 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
简单解决Python文件中文编码问题
2015/11/22 Python
python实现实时监控文件的方法
2016/08/26 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
如何通过Python实现标签云算法
2019/07/02 Python
详解Python中的分支和循环结构
2020/02/11 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
生物制药自我鉴定
2014/01/25 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB
Python中time与datetime模块使用方法详解
2022/03/31 Python