PHP - MVC - görünümü getiriliyor

2 Cevap php

Herkese selamlar!

PHP bağlamda MVC ile bazı yardım arıyor. Şu anda iş yerinde uygulama geliştirme hızlandırmak yardımcı olmak için küçük, hafif bir MVC framework inşa ediyorum. En az sayıda proje havai başgösteren ve her zaman mevcut bunu kullanmak için günaha - Bu inline kod ortadan kaldırarak uzun bir zor ayrılık.

Ben MVC temel gereksinimleri en anlamak, ve ben zaten (bu çoğunlukla temel 'HANDLERS' site hizmetlerini gerçekleştirmek için benim yeni çerçeve programları gibi Singleton deseni üzerinde bulunan benim mevcut bazı sınıfların taşıma başladık - için bir sınıf dosya yükleme, yetkilendirme, sarılmış PDO veritabanı sorguları, vb baskı hatası)

Ne kadar belgelerine okuduktan sonra ilerlemeye kavramak gibi olamaz görüşlerini başlatmasını için en iyi yaklaşımdır. Eski, verimsiz tasarım ben ev görünümünde içinde çıktıya geçmek için bir $ _GET değişkeni kapatmak istiyorum. Sadece sezgi gidiyor, bu işi almanın son derece kötü bir yol gibi görünüyor.

Ben CodeIgniter bakarak ettik ve bu çerçevede incelemeler yükleme için önceden tanımlanmış fonksiyonlar olduğu görünüyor. Böyle bir uygulama tasarımı için en iyi yaklaşım nedir? Bu, içerik almak doğru görünüm dosyayı seçin ve sayfa akışında yerleştirmek için aynı değişkenleri kullanır 'bağlantısını fabrika' dayalı bir sınıf olabilir mi? Ayrıca, nasıl yeni görünüm anahtarları kullanmadan kök dizin olarak üstbilgi ve altbilgi içerir arasına dahil edilebilir? Gerçekten ben açıkça kendimi yeterince ifadeli umut - Bu beni gerçekten kafa karıştırıcı tek şeydir.

Tüm olarak hiç teşekkürler!

2 Cevap

Ben çok Matt Zandstra tarafından "PHP nesneler, desenler ve Uygulama" öneriyor. Kitabın iyi bir bit MVC çerçeveler oluşturma fırsatları ve sizin için çok, çok yararlı olacaktır.

(Eğer başka yerlerde de araştırma yapabilirsiniz) bu desenleri kapsamaktadır:

  • Ön Kontrol
  • Uygulama Denetleyici
  • Sayfa Denetleyici
  • Şablon Görünümü
  • Görünüm Yardımcısı

Ben (Zend gibi) kurulmuş, esnek çerçevede gidiyor öneririm iken ben onları görmek, soruyu cevaplamak için, burada yer adımlar vardır (Ben bir süre önce bu tarz şeyleri yazmaya çalışıyorum durdu anlamak, bu dayanmaktadır Benim kullandığım mevcut çerçeveler) anlayış.

  1. router çeşit isteği ayrıştırır ve bir eylem ile bir kontrolör nesneye çevirir (veya varsayılan alır) ve isteğe bağlı parametreleri. Yönlendirici sonra eylem eşleşen controller nesnenin işlevini çağırır.
  2. (Genellikle genel bir denetleyici nesne genişletilmiş) controller nesne isteği işlemek ve veri kullanımı görmek ne görünümüne geçmek, hem de ne belirler. Çoğu çerçeveler kurulum eyleme dayalı bir varsayılan görünüm, ama sonuçta kullanmak için ne görünüm karar için denetleyici kalmış.
  3. view verileri alır ve görüntüler.

Bu süreç benim çok basitleştirilmiş almaktır.