У меня есть следующий php-код:
index.php
<?php
spl_autoload_extensions(".php");
spl_autoload_register();
use modules\standard as std;
$handler = new std\handler();
$handler->delegate();
?>
модули\стандарт\handler.php
<?php
namespace modules\standard {
class handler {
function delegate(){
echo 'Hello from delegation!';
}
}
}
?>
В Windows 7, запущенной WAMP, код выдает сообщение "Привет от делегирования!". однако под Linux я получаю следующее:
Неустранимая ошибка: spl_autoload(): Модули классов\standard\обработчик не могут быть загружены в /var/www/index.php в строке 15
Windows работает под управлением PHP 5.3.0 под WAMP, а Linux работает с пакетом 5.3.2 dotdeb под Ubuntu 9.10.
Является ли это проблемой конфигурации в моем Linux-модуле или просто отличается тем, как пространства имен и автозагрузка обрабатываются в разных операционных системах.