本文实例分析了CodeIgniter配置之autoload.php自动加载用法。分享给大家供大家参考,具体如下:
CodeIgniter带了自动加载的功能,可以全局加载类库、模型、配置、语言包等,对于需要全局使用的功能相当方便。
例如:有个全局函数写在app_helper.php中,需要全局加载这个函数,只需设置autoload.php:
接下来,所有的地方都可以使用了,配置、模型等配置相似。但方便的同时也需要考虑下该种加载方式有何弊端。
如果一个项目中分了两块,如前台、后台,那这个功能是否为前后台都必须? 如果前后台还有不同的业务模块区分, 是否是每个模块都要用到?
如果都需要, 那写在这里就很好, 如果不需要, 就不建议写在这里。
对于相关的类库、函数调用应该按需加载
实现加载的方式有很多,可以在指定的页面load, 可以在公用的控制器、函数里面load, 一经load即可全局使用。个人的常用做法是忽略该文件,手动加载全局函数等。
说到这里,顺便说下CI的加载机制。下面为类库、函数等的加载方式:
1
2
3
4
|
$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程序设计有所帮助。