Ben betik dilleri konuşurken Python, Perl gibi dillerin konuşma, ve (benim durumumda) PHP duyuyorum. CodeIgniter, Zend ve diğer eğlenceli MVC sistemleri çok kullveıktan sonra bir şey tek tek klasör yapısı (alongWithOTher things_like_that) üzerinde hemfikir görünüyor açıkça görülmektedir. Ben farklı yapı tasarımları yararları üzerinde herhangi bir iyi belgelerine bulamıyorum, çünkü bu gerçekten benim için bir sorun neden oluyor. Çoğu kişi sadece tasarım geliştirmeleri için bakılmaksızın that is what they use Çünkü bir tavsiye.
Ben hepimizin üzerinde anlaşabileceği umut şeylerden biri mevcut dosyalar için dosya sistemini kontrol sınıfları hakklı çok kötü bir uygulama olduğunda olmasıdır. Sınıflarımız file_exists bir baraj (biz yük her kütüphane için) çekler neden 5 olası yerlerden biri olmamalıdır.
Neyse, ben bu uygulamalar için planlama yaparken en iyi uygulamaları bulmak için karşılaştırabilirsiniz ki dizin yapılarını toplamaya çalışıyorum:
- OOP büyük olasılıkla MVC anlamına gelir dayanır
- Uluslararası kapsam ve destek dil dosyaları / çeviriler vardır
- Komple paketler bizim kod temeli içine düştü böylece modüller / eklentileri açık
- Açıkçası ne olup bittiğini tanımlamak ve verilen sınıflar için nereye bakacağını
- Aynı yapı kapalı çalışan birden fazla site için olası destek (aşağıda / site dizinleri bakınız)
Yani burada ben bugüne kadar ne var. Libs sadece ana kütüphane / sınıf dizini anlamına gelen bir terimdir ve hatta klasör yapısına bağlı olarak modelleri içerebilir unutmayın. Bu şeyler gerçekten bizim serverside kodu ile ilgili bir sonra düşünce ve değil gibi de, ben (JS / CSS / images) statik içerik her türlü hariç - hatta başka bir sunucuda olabilir! Önbelleklerini, dosya yükleme, lang, ve diğer tüm oluşturulan içerik ile aynı şey.
/controllers
/views
/models
/libs
/config
index.php
Bu tür (ayrıca şeyler organize tutmak için alt klasörler dahil) tek bir libs klasörüne herşeyi yığınları Zend çerçevesi hatırlatıyor. Sadece tek bir site için çalışıyor.
/libs
/site
/controllers
/views
/models
/config
index.php
Bu durum, yukarıdaki yapının bir çok site versiyonu olur.
/libs
/functions
/site
/controllers
/models
/views
/config
/site2
/controllers
/models
/views
/config
/modules
/user
/controllers
/models
/views
index.php
Bu, birden çok site ve modüllerine damla sağlayacak versiyonu olacaktır. Modülleri kendi kendine iş mantığı, CRUD ve görüşlerini içerecek bir forum gibi MVC uygulamaları içerdiği olacaktır.
Yani herkes var bir perfect structure onlar payı olabilir veya bana iyi uzatmak mümkün tasarım seçiminde rehberlik?