Ben önceki geliştiricileri ile geriye dönük uyumluluğu sağlamak için dikkate birkaç farklı dosya adlandırma kuralları alır bir __ autoload () işlevini kullanın.
Her kongre ve o dosya varsa görmek için çek üzerinde basit bir döngü yapar. Dosya varsa, o zaman onu yükler.
Benim fonksiyonu için, ben böyle. Inc. Sınıf ya. Inc.php gibi farklı dosya uzantıları için bu yapmak. Sen aynı şeyi, ama üst ve alt birinci karakterleri aramak olabilir.
Ben 'bir dosya bulunamadı' açıklama ile başka bölümünde, searchForClassFile () yönteminde bu koymak istiyorsunuz.
EDIT (daha fazla bilgi):
Yinelemeli doğru dosyayı arayan bir sınıf dizinin içine girer ziyade, ben belirli bir konuma sınıf adını haritası. Bu yaygın bir uygulamadır. Örneğin, foo_bar
[CLASS_DIRECTORY]/foo/bar.[EXTENSION]
eşleştirilir. Bizim durumumuzda, biz birkaç farklı uzantıları kontrol edin.
Sizin durumunuzda, size sınıf dosyası aramak istiyorum, ama kodunu değiştirerek nasıl bir tasarım karar vermek zorunda:
} else {
// Found a file
if ($f == $className . self::$classFileSuffix ||
$f == strtolower($className) . self::classFileSuffix) {
return $subPath;
}
}
Yerine strtolower of () sadece ilk karakteri düşürür, ya da> 5.3.0, PHP kullanarak if (resmen açıklanmadı değil) lcfirst () işlevini kullandığınızda bir işlev yazabilirsiniz.