本文實例分析了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相關內容感興趣的讀者可查看本站專題:《codeigniter入門教程》和《CI(CodeIgniter)框架進階教程》
希望本文所述對大家基於CodeIgniter框架的PHP程序設計有所幫助。