类自动加载器

 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

相关文章
相关标签/搜索