Kaç PHP içerir çoktur?

3 Cevap php

Benim web sitesinde her sayfa PHP kullanılarak işlenir.

Her PHP dosyası içeren 10 civarında kullanır. Yani görüntülenen her sayfa için, sunucu fonksiyonlarının geri kalanına ilaveten 10 dosyaları (MySQL, vs) almak gerekiyor.

Ben bir single haline getirelim dosyayı içermelidir? Bu gerçek dünya hız HERHANGİ fark yaratacak? Sıralamak için değişken kapsamı bir spagetti olurdu gibi önemsiz bir görev değil.

3 Cevap

Dosyalar sunucu üzerinde işlenmiş, bu yüzden tarayıcı tarafından "zorlama" değilsin vardır içerir. Kullanarak performans farkı kopya vs içerir ve kodu yapıştırarak veya dosyaları birleştirerek o değil ki, çok önemsiz olduğunu (ve biz 100 ms 10 ms en mutlak olarak, değişir bahsettiğini tahmin ediyorum) tüm 't buna değer.

include ve require doya için çekinmeyin. Temiz kod bir sayfa yük kapalı az 100 ms tıraş önemli ölçüde daha önemlidir. Eğer zamanlama kritik bir şey inşa ediyorsanız, yine PHP kullanarak olmamalıdır.

Dosya aslında dahil yolda bulunan nerede ne zaman alır sergiyi olduğunu. Eğer senin yolunu içerir birden fazla yer var eğer dosya bulur ya da (bu bir hata atar hangi durumda) başarısız ya kadar, PHP her yerini arayacaktır. Eğer dahil dosyaların çoğu dahil yolun üstünde bulunan edilmelidir yolunu içerecek koymalıyız neden budur.

Eğer senin yolunu içerir mutlak yolları kullanırsanız, PHP realpath önbellek yolu önbelleğe, ama bu çok hızlı bir şekilde bayat alır unutmayın olacaktır. PHP daha sık yolunu eklemek kontrol etmek için vardır çünkü Yani evet, on dosyaları da dahil olmak üzere, potansiyel olarak büyük bir dosya da dahil olmak üzere daha yavaştır. Lütfen webserver gerçekten zayıf bir makine olmadıkça Ancak, on dosyalar bir etki yapmak için yeterli değildir. Yüzlerce dosya içeren ya da zaten bir OpCode önbelleği kullanmak hangi durumda aramak için birçok yerleri, varsa bu sadece ilginç olur.

Ayrıca dosyaları da dahil olmak üzere zaman belirli bir istek için uygulama tarafından çağrılan asla dosyaları dahil olabilir, çünkü, başında her dosya hakkı eklemek iyi bir uygulama değildir unutmayın.


Referans

include\ and `sunucu tarafında sadece açık dosyası gerektirir, ama bu donanım / dosya sistemi, vb bağlı olarak zaman consumming olabilir

Neyse, kullanabilirsiniz eğer autoloader. Sadece gerekli dosyaları bu şekilde yüklenir.

Eğer dahil bir dosya yavaşlamanın kaynağı olan (ve ben önce iyileştirme bakmak için diğer noktaları bir çok şey olduğunu düşünüyorum) düşünüyorsanız, sonra otomatik olarak dosyaları birleştirmek için deneyebilirsiniz. Gelişen zaman Hala sınıf başına bir dosya var, ancak yalnızca bir include var her sınıf 'tanımını içeren bir dosya oluşturabilirsiniz (gibi bir şey cat <all your included file>.php > to_include.php).