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

  在不少狀況下,框架類並不能知足項目的需求,這時候須要程序要自定義一些類,好比說基類等等,對比了TP框架,CI框架目前好像還沒加入命名空間,這點TP作得比較好,不用特殊的處理就能夠隨便繼承自定義的類,只要處理好命名空間就行,在沒有加入命名空間的CI框架怎麼辦呢?php

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

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

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

  我的以爲這種方法很不錯,那這是怎麼實現的呢?blog

  • 由於CI框架類都會自帶一個CI_做爲類的前綴,所以只要自定義的類不要用CI_做爲前綴是能夠區分出來的,而後引入進來便可;
  • 代碼以下:
// 自定義公共目錄路徑
define('COMMONPATH', APPPATH . 'common' . DIRECTORY_SEPARATOR);

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

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

相關文章
相關標籤/搜索