本文實例分析了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程序設計有所幫助。