Ich habe den folgenden php-Code:
index.php
<?php
spl_autoload_extensions(".php");
spl_autoload_register();
use modules\standard as std;
$handler = new std\handler();
$handler->delegate();
?>
Module \standard\handler.php
<?php
namespace modules\standard {
class handler {
function delegate(){
echo 'Hello from delegation!';
}
}
}
?>
Unter Windows 7 mit WAMP erzeugt der Code die Meldung "Hello from Delegation!", aber unter Linux erhalte ich folgende Meldung:
Schwerwiegender Fehler: spl_autoload(): Klasse Module \standard\handler konnte nicht geladen werden in /var/www/index.php in Zeile 15
Unter Windows läuft PHP 5.3.0 unter WAMP, und unter Linux läuft das 5.3.2 dotdeb-Paket unter Ubuntu 9.10.
Ist dies ein Konfigurationsproblem auf meiner Linux-Box oder nur ein Unterschied in der Art und Weise, wie Namespaces und Autoloading auf den verschiedenen Betriebssystemen gehandhabt wird