Привет, ребята, я получаю ошибку, когда я пытаюсь использовать пространство имен, как это. Вот первая ошибка при запуске кода ниже.
Fatal error: Class B\C\ClassC' not found
// файл: index.php
define("DS",DIRECTORY_SEPARATOR);
define("__PATH__",$_SERVER["DOCUMENT_ROOT"]);
include (__PATH__.DS.'B'.DS.'autoloader.php');
use A\ClassA;
$obj = new classA();
// файл: B / autoloader.php
spl_autoload_register(function($class){
require_once __PATH__.DS.$class.'.php';
});
// файл: A / ClassA.php
namespace A;
use B\ClassB;
class ClassA extends ClassB{}
// файл: B / ClassB.php
namespace B;
use B\C\ClassC;
class ClassB extends ClassC{}
// файл: B / C / ClassC.php
namespace B\C;
class ClassC{}
Если только не начать с \
все ссылки на пространство имен относятся к текущему пространству имен:
namespace Foo;
use Bar\Baz; // refers to \Foo\Bar\Baz
use \Bar\Baz; // refers to \Bar\Baz
Других решений пока нет …