Ben aşağıdaki gibi kullanıyorum özdevinimli_yükle fonksiyonu: -
function __autoload($moduleName)
{
//Logic to check file existence- include if exists else redirect to fallback page
}
Başka herhangi bir argüman almaz? Ben özdevinimli_yükle işlevi içinde bazı değişkenlere dayalı bazı mantık gerçekleştirmek istiyorum. Global değişkenler kullanmadan bunu nasıl yaparsınız?
Teşekkürler
Additional Details
Ben bu __ autoload () sınıf içinde mümkün olmadığını düşünüyorum ama yine de bir örnek ile açıklamaya çalışıyor.
Ben bir dizi var bir modules.config dosyası vardır: -
$viewClassMap = array('search_classes' => 'commonClassListings',
'search_packs' => 'commonPackListings',
);
Yukarıdaki dizi bu sınıf commonClassListings search_classes bakış davaya dahil edilmesi anlamına gelir, sınıf commonPackListings search_packs bakış davaya dahil edilmesi oldu. Diğer tüm görünümleri için, varsayılan olarak, commonDisplay sınıf dahil edilecektir
function __autoload($viewName,$viewClassMap)
{
if(in_array($viewName,$viewClassMap))
{
$viewTobeIncluded = $viewClassMap[$viewName];
include path/to/$viewTobeIncluded;
}
else
{
include path/to/commonDisplay;
}
}
Şimdi, autoload işlevi __ iç mantığı dışına gereken ve ilk yüklenecek görünüm hesaplanan ve sonra sadece autoloading çağrılacak gerektiğini düşünüyorum. O (nesne başlatıldı sınıf dosyası dahil) da autoloading amacı budur.
Updates
Benim özdevinimli_yükle fonksiyonu olan nesne I (BLIZZ örneğinde aksine) çalışma zamanında başlatmak için gidiyorum görünümü sınıfının içinde değildir. I ortak froncontroller dahildir bir pageLoader.php dosyasında tanımlanan ortak bir Autoload işlevi vardır. Her modül için, görünüm sınıf gibi initatiated edilir
$view = new search_classes();
Yani bunu eklemek ve search_classes kendisini görüntülemek ve nesneyi başka bir son çare iniate eğer ortak özdevinimli_yükle fonksiyonu (bu durumda commonClassListings) gelen ana görünüm sınıfını kontrol etmek için vardır mevcut ya da değil, olduğunu. Bunun için ben autoload işlevi $viewClassMap
dizi geçmesi gerekiyor. Bu mümkün mü?