Çeşitli fonksiyon dosya PHP içerir

4 Cevap php

Ben ilgili soruları okuyun ve benim cevap bulamadık. Bu, yaklaşık require / require_once ya da __autoload fonksiyonu ya da dosyaları hatta adının kullanımı.

Benim şirket, büyük siteler inşa ve büyüdüğümüz gibi, biz içine büyümüş uygulama gibi ilişkilerle işlevlerini parçalanıyor:

inc.functions-user.php inc.functions-media.php inc.functions-calendar.php

Her bu dosyaları kodu 1000 3000 lines olma eğilimindedir. Birleştiren onları korumak ve daha geliştiriciler için daha zor bir canavar olur.

Ancak, bizim büyük sitelerde bazı, biz 8 ve bu bireysel fonksiyonlar dosyalardan 15 arasında bir yere ile sonuna.

15 fonksiyon başlığındaki dosyaların en iyi yolu, ya da biz onları birleştirmek için bir yol bulmak gerekir dahil mi? 12 vs 5 sitemizin çalışan önemli ölçüde zararlı içerir içerir mi?

4 Cevap

Eğer performansı hakkında bakım eğer bellekte script derlenmiş hali kurtaracak APC gibi bir opcocde Cche yükleyin.

APC yüklemek istemiyorsanız fark evet az dosya erişmek daha az zaman alır, ama çoğu zaman harcanan nerede olduğunu değil, az. Genellikle yeterli talep varsa (Dosya sisteminin bellekte komut (derlenmemiş) önbelleğe mümkün olmalıdır Özellikle gibi).

Fonksiyonunu yerine 12 zaman 5 kez gerektiren / include çağrılması önemli olan dahil dosya (lar) içeriği olan, çok farklı değildir.

Ayrıca, cahchers gibi APC veya xcache gibi bir amaç için uygun olan içerir.

Ben de düşünüyorum da dikkat etmeniz gereken bazı noktalar

  • Rasmus Lerdorf "daha fazla içeren yaklaşık beş olmamalıdır" olduğunu sık sık söyledi. O PHP yaptı çünkü ben sadece, o neden bahsettiğini bilir varsayabiliriz. Ancak, bu fizibilite hakkında şüphe duyuyorum. Özellikle büyük projelerde.
  • Ben sizin geliştiriciler hayatını kolaylaştırmak için geliştirme ve kilometre taşları için daha iyi olduğunu gördük. Bu ayrı dosyalar anlamına geliyorsa, o zaman bu iyi bir fikir.
  • Eğer CPU kullanımı veya bant genişliği konusunda endişeli iseniz, dahil liberal kullanımı daha belirgin darboğazlar muhtemelen vardır. Un-optimize edilmiş fonksiyonlar uygulama daha hızlı yapmak için iyi bir yoldur ve görüntüler, css veya js dosyalarına dikkat bant genişliğini azaltmak için iyi bir yoldur.

Vanilya PHP ile o kadar az sürede dosyaları dahil kullanmak için genellikle daha iyidir, ama tabii ki bakım bir ağrı yapar. Böyle APC gibi bir opcode önbellek kullanımı ve performans sorunu hemen hemen kaybolur. Ayrıca, 12 dosya büyük MVC çerçeveler ve diğer kütüphaneleri ile karşılaştırıldığında, içeren çok büyük bir sayı değildir. Bir mantıksal yapının ayrılmış işlevleri tutarak bugüne kadar en iyi yoldur.