返回首页
当前位置: 主页 > 网络编程 > Php实例教程 >

说一下 spl_autoload_register用法

时间:2015-04-23 11:54来源:知行网www.zhixing123.cn 编辑:麦田守望者

平常我们加载类文件时,一般都用__autoload

function __autoload($classname){
    $filename = "./".$classname.".php";
    if(is_file($filename)){
        require $filename;
    }
}
$classA = new classA();//print "classA"

但随着项目越来越大时,不同人写了不同的类,一个__autoload可能会非常复杂;或者我们引入第三方项目时,会有多个__autoload方法加载类
这时候spl_autoload_register派上用场了

function loadClass($classname){
    $filename = "./".$classname.".php";
    if(is_file($filename)){
        include $filename;
    }
}
//加载类时 会自动执行loadClass方法
spl_autoload_register("loadClass");
#spl_autoload_register("loadOtherfunction"); 可根据不用需求加载不用的方法
$classA = new classA();//print "classA"

#简单封装一下

class Loader{
	
    public function register($prepend = false){
         spl_autoload_register(array($this, 'loadClass'), true, $prepend);
	}

	public function loadClass($classname){
		$filename = "./".$classname.".php";
		if(is_file($filename)){
			include $filename;
		}	
	}
}

使用spl_autoload_register 会使 __autoload方式失效,可用spl_autoload_register( ‘__autoload’,true,true);绑定它

------分隔线----------------------------
标签(Tag):数据库 SQLServer SQLServer数据库 Sqlserver2008
------分隔线----------------------------
推荐内容
猜你感兴趣