Bir sınıf içinde gerektiren kullanarak

2 Cevap php

i seçilen dosyaları gerektiren bir "yükleyici sınıfı" yapmak istiyorum.

bu yüzden ben sadece örneğin arayabilirsiniz. yükleyici :: load ('systemLibraries,' applicationLibraries ').

bu yüzden kullanacak bu yükün içinde () yöntemi gerektirir. ama ben bu denedim ve gerekli dosyalar sınıf dışında kullanılamaz görünüyor.

nasıl ben bu küresel erişilebilir yapabilir?

2 Cevap

Bu iyi çalışması gerekir:

class Loader{

    function load($class_name)
    {
         require($class_name ".php");
    }
}

Loader::load("MyClass");
$class = new MyClass;

Sınıfım "MyClass.php" olduğunu göz önüne alındığında

Bu, diğer taraftan, çalışmaz

class Loader{

    function load($class_name)
    {
         require($class_name ".php");
         $class = new $class_name;
    }
}

Loader::load("MyClass");
$class->doSomething();

include.php bu gibi görünüyorsa

$var = "Hi";

Bunu yapamazsınız:

Loader::load("include");
echo $var;

Kapsam sorunları var gibi.

Sen bize tam what erişmeye çalıştığınız hakkında daha fazla bilgi vermek için ihtiyacımız olacak.

Evet, Chacha belirttiği gibi, size yükleyici sınıfının dışında sınıfların örneğini oluşturmak emin olun. Genellikle her zaman sistemi tarafından ihtiyaç vardır system libraries terimini kullanmış beri, sizin için otomatik olarak tüm bunları dahil etmek __autoload magic function kullanabilirsiniz.