類自動加載器

 1 /**
 2  * Created by [中弘集團] qq 812035863 .
 3  * User: Taoist
 4  * Date: 2015/7/9
 5  * Time: 20:57
 6  * description: 自動類加載
 7  *  入口文件首先載入加載器
 8  * 
 9  * 加載文件要放在類庫內纔有做用
10  * 
11  * 若是 root 是根目錄
12  * 
13  * /root/library 是庫目錄
14  * 
15  * autoload文件放在library 下面
16  * 
17  * 例子:
18  * 
19  *  namespace Lib/main
20  * 
21  *  autoload.php 與 main 目錄同級 

22 * 23 */ 24 define('LIB_PATH', str_replace('\\', '/', __DIR__) .'/' . 'Library' .'/'); //加載路徑 25 define('CLASS_SUFFIX', '.php'); //類後綴 26 27 class autoload { 28 29 static $in; //已導入標示; 30 31 static public function execute($name){ 32 if(!self::$in[$name]){ 33 $class = ''; 34 $dir = ''; 35 $url = str_replace('\\', '/', $name); 36 if(($pos = strrpos($url,'/')) != false){ 37 $class = substr($url,$pos+1); // 類名字 38 $path = substr($url, 0, $pos); 39 if(($pos = strpos($path,'/')) != false){ 40 $dir = substr($path,$pos+1); //路徑 41 self::$in[$name] = true; 42 include_once LIB_PATH.$dir.'/'.$class.CLASS_SUFFIX; 43 }else{ 44 self::$in[$name] = true; 45 include_once LIB_PATH.$class.CLASS_SUFFIX ; 46 } 47 }else 48 throw new Exception($name.'not find'); 49 } 50 } 51 } 52 spl_autoload_register(array('autoload','execute'));

   composer 依賴管理工具是很是好的,能夠本身配置autoload 來管理本身依賴的類,\php

   建議小夥伴採用composer來管理依賴,html

 composer教程composer

相關文章
相關標籤/搜索