时间:2021-07-01 10:21:17 帮助过:12人阅读
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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》和《CI(CodeIgniter)框架进阶教程》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。