PHP kullanılmayan komut dosyalarını yüklemeyin için ne kadar önemli?

4 Cevap php

Sayfaların% 90 aynı kütüphaneleri kullanmak bir sitede, sadece kütüphaneler her zaman yük veya gerektiğinde onları sadece yük gerekir? Diğer sayfaları herhangi bir gerçek özelliğe sahip değilsiniz ajax veya basit sayfalar olacaktır.

Gerektiğinde Ayrıca, sadece kodunu yüklemek gerekir? Bölümü yolu bir sayfa aşağı bir kütüphane gerekiyorsa, o zaman yüklemek ya da sadece en başında yüklemeniz gerekir. Belki o bir hata veya yanlış veri önce oraya asla mümkün. (Üst yüklüyor anlamak biraz daha kolay hale getirir, ama gerekli ekstra kod neden olabilir.)

Ben görüntüleme gibi aynı anda düzenlemek için kod yükleme söylemeyeceğim yüzden kütüphaneler daha belirli yapmak gerekir eğer ben de merak ediyorum?

Temelde, ben ne kadar yükleme kodu hakkında endişe veya kod yükleme gerekmez mi?

4 Cevap

Ben her zaman bir dosya, sınıf ve yöntemi bir single responsibility vermeye çalışacaktı. Bu nedenle, kod düzenleme görüntülemeye ayıran iki durumda da iyi bir fikir olabilir.

Yükleme kütüphaneler gelince, ben sigara gerekli kütüphaneler dahil olmak üzere performans kaybı durumlarda bir sürü oldukça ilgisiz olabilir inanıyoruz. Ancak, include, require, include_once, ve (tabii ki) dosya sistemine erişmek gibi require_once nispeten yavaştır. Her vesileyle kullanmayın kütüphaneleri oldukça büyük ve genellikle orada harcanan zamanı azaltarak yardımcı olabilir içerir gereksiz kaldırarak, farklı dosyaların kendilerini bir çok eklerseniz. Bununla birlikte, bu maliyeti de etkin bir önbellek sistemi kullanılarak büyük ölçüde düşürülebilir.

Eğer PHP5 üzerinde ve kütüphaneler güzel sınıflara bölünmüş olan göz önüne alındığında, kaldıraç PHP'nin auto loading functionality hangi PHP komut dosyası onlara ihtiyacı olarak gerekli sınıfları içerir. Bu oldukça etkili olmayan kullanılmış bir sürü kod dahil olmak üzere önleyeceğini.

Son olarak, web sitenizin performansını etkileyen bazı kriterler çalıştırın ve performans kazanç veya kayıp profile olabilir bu değişikliklerden herhangi yaparsanız. Bu şekilde, sadece tam olarak uygulamak için çok fazla zaman maliyeti ya da performansını düşürür bazı muhtemelen serin optimizasyonu yapma riski çalıştırmak yok.

PHP çalışma zamanında derlenmiş, bu yüzden gereksiz komut yükleme için bir ceza olduğu gibi, yüklenen her bir komut dosyası derlenecek unutmayın. Bu uygulama yapısı ve gereksinimlerine bağlı olarak küçük olabilir, ama bu durum böyle değil durumlar vardır.

Eğer bu tür endişeleri inkâr için yapabileceğiniz iki şey vardır:

  1. Ihtiyaç duyulan gibi __autoload komut dosyalarınızı yüklemek için kullanın. Bu komut, uzun bir 'ihtiyaç' listesini tutmak için gereğini ortadan kaldırır ve tek geçerli çalıştırmak için gereken ne yükler.
  2. Yükleme komut maliyetini düşürmek için bir byte kod önbellek olarak APC kullanın. APC kendi derlenmiş durumda komut önbelleğe alır ve uygulama performansı için harikalar yapacaktır.

Özdevinimli_yükle tekniği Vote +1.

Autoload kullanmanın ek yarar bu kötü niyetli kodu potansiyeli bazı ortadan kaldırır olduğunu. Şey başarısız olursa, bir geri-iz ve "included_files" listesi pop ve sorun gelebilir yerlerin bir listesini almak.

Bu birileri bunlardan birinin sonunda kötü niyetli kod gizler, ya da meyveli bir şey tasarlıyor eğer avlamak daha az dosya var demektir.

Ben URL bazı belirteçleri varlığı beklenmedik davranışa neden (benim değil) bir kez kod temeli üzerinde çalıştı, ve kod korkunç çünkü, o dahil 200 birinde aslında çalınmaması sorunun kökeni izleme bir kabus oldu dosya bunlardan biri tüm isteği yeniden ve ardından "ölmek" çağırıyordu

Soru "ne kadar önemli" idi.

Cevap: bu hiç önemli değil. Zaten bu uygulamayı çalıştıran bir düzine sunucuları yoksa, o zaman bu muhtemelen erken optimizasyonu, ve hepimizin bildiği gibi, erken optimizasyon tüm kötülüklerin köküdür.

Başka bir deyişle: hatta bu konuda endişelenmeyin. Hatta bu düşünmelisiniz önce hızını optimize etmek için başka bir çok şey vardır.