Bizim PHP5 OO uygulaması (büyüklüğü ve trafik hem de) büyüdükçe, biz __ autoload () stratejisini tekrar karar verdi.
Biz her zaman içerdiği sınıf tanımı ile dosyayı adlandırın, böylece sınıf Müşteri Customer.php içinde yer olacaktır. Doğru. Php dosya bulundu kadar biz, bir dosya potansiyel var hangi dizinleri listelemek için kullanılır.
Eğer stat (yükleri () çağrıları yapmak, böylece) potansiyel olarak gerekmez dizinleri bir dizi geçiyor ve her istek üzerine bunu yapıyoruz, çünkü bu, oldukça verimsiz.
Benim akla gelen çözümler ...
(PEAR benzer) dizin adını belirleyen bir adlandırma kuralı kullanmayın. Dezavantajları: korkunç sınıf isimlerinde sonuçlanan, çok büyük ölçekli değildir.
Yerlerde (propel onun __ autoload için yapar) öncesi inşa edilen dizinin çeşit ile-geliyor. Dezavantajı: Yeni bir kodun herhangi dağıtmadan önce yeniden gerektirir.
"Fly" dizi-inşa ve önbelleğe. Bu istediğiniz herhangi bir sınıf adları ve dizin yapısı için izin verir, ve sadece listesine eklenir olsun yeni dosyalar tamamen esnek olduğu gibi, en iyi çözüm gibi görünüyor. Endişeleri vardır: silinen / taşınan dosyalar hakkında saklamak ve ne nerede. Bu disk I / O yükünü yok gibi depolama için biz, APC seçtik. Saygılarımızla siler dosya ile muhtemelen istiyorsun yerde onları zaten ihtiyaç yok gibi, o, önemli değil. Hamle olarak ... (biz tarihsel bizim için çok sık olmadı olarak görmezden) çözümlenmemiş bulunuyor.
Başka bir çözüm?