學習CodeIgniter框架之旅(二)繼承自定義類


  在很多情況下,框架類並不能滿足項目的需求,這時候需要程序要自定義一些類,比如說基類等等,對比了TP框架,CI框架目前好像還沒加入命名空間,這點TP做得比較好,不用特殊的處理就可以隨便繼承自定義的類,只要處理好命名空間就行,在沒有加入命名空間的CI框架怎么辦呢?

  思路:在入口文件做文章,這是在網上找到的辦法;

  在入口文件加入自動加載的代碼:

function __autoload($class) {
	if (strpos($class, 'CI_') !== 0) {
		@include_once(APPPATH . 'common/' . $class . EXT);
	}
}

  個人覺得這種方法很不錯,那這是怎么實現的呢?

  • 因為CI框架類都會自帶一個CI_作為類的前綴,因此只要自定義的類不要用CI_作為前綴是可以區分出來的,然后引入進來即可;
  • 代碼如下:
// 自定義公共目錄路徑
define('COMMONPATH', APPPATH . 'common' . DIRECTORY_SEPARATOR);

function __autoload($class) {
	if (strpos($class, 'CI_') !== 0) {
		@include_once(COMMONPATH . $class . '.php');
	}
}

  這樣在common目錄自定義的類就可以被繼承了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM