PHP 5.3'te ad alanlarını öğreniyorum ve İsim Boşaltmalarını kullanmak istiyorum. Bu SplClassLoader class'u buldum, ancak nasıl çalıştığını anlayamıyorum.PHP SplClassLoader ile Otomatik Yükleme?
system
- framework
- http
- request.php
- response.php
index.php
SplClassLoader.php
nasıl sınıf Özdevinimli etkinleştirebilirim:
en Böyle dizin yapısına sahip, söylememe izin ver?request.php
ve
response.php
hangi adlara sahip olmalıdır?
namespace framework\http;
class Request
{
public function __construct()
{
echo __CLASS__ . " constructer!";
}
}
Ve bu response.php
geçerli::
Bu
request.php
olduğunu
namespace framework\http;
class Request
{
public function __construct()
{
echo __CLASS__ . " constructed!";
}
}
Ve index.php
I var:
require_once("SplClassLoader.php");
$loader = new SplClassLoader('framework\http', 'system/framework');
$loader->register();
$r = new Request();
hata mesajını alıyorum:
Fatal error: Class 'Request' not found in C:\wamp\apache\htdocs\php_autoloading\index.php on line 8
Neden bu olmuyor ? Projelerimde SplClassLoader
'u nasıl kullanabilirim, böylece sınıflarımı yükler/gerektirir ve klasörleri ve ad alanlarını nasıl ayarlamalı ve adlandırmalıyım?
Ben senin dosya ve dizin adları büyük harfle başlamak gerekebilir düşünüyorum? –
@Adrian Macneil: Pencerelerde değil, haklısınız, bu yapılmalı. – hakre