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