üzerine ben şu php kodu: Standart \ handler.php \Ad alanı Autoload windows altında çalışır, ancak Linux
index.php
<?php
spl_autoload_extensions(".php");
spl_autoload_register();
use modules\standard as std;
$handler = new std\handler();
$handler->delegate();
?>
modülleri
<?php
namespace modules\standard {
class handler {
function delegate(){
echo 'Hello from delegation!';
}
}
}
?>
Windows 7 altında, WAMP çalıştıran kod, "Merhaba'dan Delegasyon!" Ancak Linux altında, aşağıdaki alıyorum:
Fatal error: spl_autoload(): Class modules\standard\handler could not be loaded in /var/www/index.php on line 15
, Windows WAMP altında PHP 5.3.0 çalıştıran ve Linux Ubuntu 9.10 altında 5.3.2 dotdeb paketi çalışıyor. böylece, bu ad hiçbir bilgiye sahip -
benim linux kutusunda bu bir yapılandırma sorunu var mı, yoksa sadece bir yolu ad alanlarında fark autoloading farklı işletim sistemleri
Bu durum böyle değil, spl_autoload-register() sınıf adını küçük harfe çevirir, bu yüzden de camelCase adlarını kullanırsanız Unix'i bozar (https://bugs.php.net/bug.php?id = 53065) –