大家好我在尝试使用这样的命名空间时遇到错误。这是运行下面代码的第一个错误。
Fatal error: Class B\C\ClassC' not found
// file:index.php
define("DS",DIRECTORY_SEPARATOR);
define("__PATH__",$_SERVER["DOCUMENT_ROOT"]);
include (__PATH__.DS.'B'.DS.'autoloader.php');
use A\ClassA;
$obj = new classA();
// file:B / autoloader.php
spl_autoload_register(function($class){
require_once __PATH__.DS.$class.'.php';
});
// file:A / ClassA.php
namespace A;
use B\ClassB;
class ClassA extends ClassB{}
// file:B / ClassB.php
namespace B;
use B\C\ClassC;
class ClassB extends ClassC{}
// file:B / C / ClassC.php
namespace B\C;
class ClassC{}
答案 0 :(得分:0)
除非以\
开头,否则所有命名空间引用都与当前命名空间相关:
namespace Foo;
use Bar\Baz; // refers to \Foo\Bar\Baz
use \Bar\Baz; // refers to \Bar\Baz