本文實例分析了CodeIgniter配置之autoload.php自動加載用法。分享給大家供大家參考,具體如下:
CodeIgniter帶了自動加載的功能,可以全局加載類庫、模型、配置、語言包等,對于需要全局使用的功能相當方便。
例如:有個全局函數寫在app_helper.php中,需要全局加載這個函數,只需設置autoload.php:
接下來,所有的地方都可以使用了,配置、模型等配置相似。但方便的同時也需要考慮下該種加載方式有何弊端。
如果一個項目中分了兩塊,如前臺、后臺,那這個功能是否為前后臺都必須? 如果前后臺還有不同的業務模塊區分, 是否是每個模塊都要用到?
如果都需要, 那寫在這里就很好, 如果不需要, 就不建議寫在這里。
對于相關的類庫、函數調用應該按需加載
實現加載的方式有很多,可以在指定的頁面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程序設計有所幫助。