Modül Web Tasarım mimarlık arayışında

1 Cevap php

Ben büyük bir web uygulaması tasarlama ve ben nihayet sayfada farklı unsurları modularize edebilmek olmak istiyorum. Ben Zend Framework kullanıyorum.

Ben Drupal yapacağını çeşit nasıl, ben bir sayfa (örneğin İletişim kutusu, Arama Kutusu Son blog yorumları ...) oluşturmak için birleştirebilirsiniz bağımsız modüller oluşturmak istiyoruz. Bu modüller etkileşimli olacak, bu yüzden açıkçası formunu içerecektir ve AJAX Onlar da (onlar bakmak nasıl render) manzaralı bir dizi gerekir ve ayrıca JS ve CSS dosyalarını kullanır vb çağırır.

Ben bu sorunun standart bir yaklaşım arıyor oldum, ama çok daha somut bilgi orada yoktur. Herkes web tasarımı bu tür bir bakış açısı sunacak bir kaynak, kitap veya web sayfasının biliyor mu?

Peşin çocuklar teşekkürler :)

1 Cevap

Dürüst - Ben bu bilgi için benim kendi yakalanmasında çok kaynak bulamadım, ama Zend Framework kendisi, özellikle Zend_Form içindeki bileşenlerin çoğu bakarak çözüm bulmak için ilham bir sürü alabilirsiniz. Ben sadece "Eleman" ve "Dekoratör" hiyerarşi olan bir "İçerik" paketi oluşur. Elemanları kendilerini varsayılan dekoratörler - sağlayabilir ve tek bir sayfada <ul class='content'><li>.....</li>.....</ul> tarzı ekranda tüm içerik kutuları sarma örneğin (onlara keyfi dekoratörler ekleyebilirsiniz.

"Görünüm Yardımcılar" Eğer <?php echo $this->blogComments($article) ?> görünümü-hangi çağırır içinde arayarak "son blog yorumlar" tarzı kutuları yapmak için izin, çok kullanışlı hale My_View_Helper_BlogComments::BlogComments(). Ben kesinlikle formları (yani "My_Form_ContactUs" olmak bize) olarak gerçekleşmesi yeniden kullanılabilir bileşenler için de kendi Zend_Form alt sınıfları sahip öneririz.

"Kısmi" görünümü yardımcı yeniden kullanılabilecek diğer dosyaları ekranın belirli bölümlerini soyutlayarak için de kullanışlı geliyor. <?php echo $this->partial('blog/_comments.phtml', null, array('article'=>$article)); ?> - Bir Zend_View klonlar olarak kısmi için kullanılan biraz daha fazla yükü vardır.

JS / CSS içeren işleme biraz daha karmaşık alır, ne yaptım sana, o kütüphane zaten dahil edilmiş olsaydı görmek için kontrol hangi bir "kütüphane" değilse bile "ihtiyaç" statik bir sınıf oluşturmak oldu - headScript çağırır () Gerekli dosyaların eklenmesi için / headLink (). (FCKeditor / Sıralanabilir / jQuery / etc gibi şeyler için kullanılır). Görünümlü biter gibi: My_Script::requireLibrary('fckeditor');