Добрый день.
Использую автозагручик. Не могу получить доступ к классам через пространство имен.
Файл index.php:
<?php
include 'core/autoloader.php';
use pages as page;
$p = new \page\class1();
?>
Файл автозагручика:
<?php
spl_autoload_register ('autoload');
function autoload ($className) {
$fileName = 'vendor/'.$className . ".php";
echo $fileName.'<br>';
include $fileName;
}
?>
Файл class1.php:
<?php
namespace pages;
class class1{
static function hello()
{
echo 'NS pages';
}
}
?>
Файл class1.php:
<?php
namespace users;
class class1{
public function hello()
{
echo 'NS users';
}
}
?>
Ошибка:
Warning: include(vendor/page\class1.php): failed to open stream: Нет такого файла или каталога in /home/users/s/sovetkali/domains/php.sovetkali.ru/core/autoloader.php on line 7
Warning: include(): Failed opening 'vendor/page\class1.php' for inclusion (include_path='.:/usr/local/zend-7.0/share/pear') in /home/users/s/sovetkali/domains/php.sovetkali.ru/core/autoloader.php on line 7
Fatal error: Uncaught Error: Class 'page\class1' not found in /home/users/s/sovetkali/domains/php.sovetkali.ru/index.php:6 Stack trace: #0 {main} thrown in /home/users/s/sovetkali/domains/php.sovetkali.ru/index.php on line 6
Не могу понять как использовать пространства имен если есть автозагрузчик, подскажите пожалуйста.