假设我在相同的命名空间中有类:
目录 :
(文件夹)一个
- 一个.php
(文件夹) b
- b.php
- c.php
我们使用命名空间,__autoload
如您所见:在文件夹中b\b.php
:
<?php
namespace b;
use b as x;
function __autoload($clsName){
$clsName='../'.str_replace('\\', '/', $clsName).'.php';
require_once $clsName;
}
class b{
function __construct(){
print("b file<hr/>");
}
}
$t=new x\c(); // line 13
?>
并在文件夹中b\c.php
:
<?php
namespace b;
class c{
function __construct(){
print("c file<hr/>");
}
}
?>
当我们定义时$t=new x\c
,__autoload
不调用!请帮我 :(
错误信息:
Fatal error: Class 'b\c' not found in C:\xampp\htdocs\project\TEST\b\b.php on line 13