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