【php】命名空间 和 自动加载的关系
目的本文的目的主要是说明 命名空间的 use 关键词 和 new>命名空间(namespace)
php从5.3加入了命名空间,我略懂一些java,所以命名空间还是比较好理解的,为什么需要命名空间啦?主要解决自己写的内部类/函数/常量和 第三方的类/函数/常量冲突
。引用命名空间下资源都要 使用关键字 use 标明 例如
require_once("apanly/BrowserDetector/Browser.php");
use apanly\BrowserDetector\Browser;
new Browser();
自动加载
php可以自定义自动加载函数,主要减少include 和 require 的使用。例如
function myLoader($classname){
$class_file = $classname . '.php';
if ( file_exists($class_file) ){
require_once($class_file);
}else{
echo "[ autoload error ]".$class_file." not found";
die(0);
}
}
spl_autoload_register("myLoader");
疑问
是 use 的时候 会执行 myLoader 自动记载函数 还是 new 一个对象的时候会执行自动加载函数?
答案是: new 一个对象的时候 会执行自动加载函数
示例演示
use 测试
页:
[1]