Bir MVC PHP çerçevesinde (zend, symfony) ile Ajax / UI JS Framework (ext, jquery-ui) birleştirmek için iyi bir fikir mi?

5 Cevap php

Bu çok genel bir soru olduğunun farkındayım, ama ben gerçekten kesin bir cevap aramıyorum sanırım. PHP çerçeveler Ben kafamın etrafında almak zor bir zaman yaşıyorum yeni olmak.

Javascript çerçeveler, özellikle UI uzantıları ile, sizin tasarım JS kodu ayıran kendi tür-MVC gibi bir yaklaşım var gibi görünüyor. Bu uç ek bir MVC framework kullanmak için kafa karıştırıcı alacağı gibi sadece görünüyor.

Bu yaygın öncelikle AJAX odaklı uygulamalar için yapılır? Bunu yapmanın bir kabul / ortak bir yol var mı?

5 Cevap

(Ve bu bir kaç ay önce yazdığı bir demo app olan) bir Zend Framework uygulaması için birlikte uyum nasıl hızlı bir örnek:

  • (Javascript olmadan çalışır) tamamen işlevsel bir site oluşturmak için MCV Framework kullanın.
  • 'Normal' bir isteği ve bir AJAX isteği (zerdüştlerin bağlam anahtarlama bu kolaylaştırır) arasındaki farkı anlamak için kontrolörü değiştirin.
  • Temiz AJAX olaylarla bağlantıları yerine (bizim örneğimizde jQuery içinde) Javascript ekleyin.

In the end, the PHP app knows that an AJAX request needs an AJAX response (less bandwidth, less processing, only JSON or HTML 'snippet'), but a normal request needs an entire page generated.

Temel olarak, sadece talep (veya güncelleme veya veri eklemek) tüm düzeni işlemek zorunda kalmadan, 'Görünüm' şablonuna AJAX kullanarak ediyoruz. Zend Framework Context Switch Action Helper Bu daha mantıklı yardımcı olabilir.

HTML / XML, CSV, vb - Farklı formatlarda isteği kullanılabilir hale iyi çalıştığını bağlam anahtarlama kayda değer bulunuyor

Benim görüşüme göre, MVC dan sonraki mantıklı adım. Zaten çıkış (görünüm), iş mantığı (kontrolör) dan, veri erişimi (model) ayırmak - şimdi sadece biçimlendirme gelen davranış ayıran ediyoruz.

Eğer sadece JSON veya XML gibi gerekli bilgileri dönmek için Görünümü değiştirmek gerekir beri benim deneyim, bu AJAX özellikleri ile gerçekten iyi çalışıyor.

Şahsen biz jquery ile Zend (MVC yanı sıra Zend çerçevesinde diğer yönlerini) kullanıyor ve birlikte çok iyi çalışıyor. Tüm html sayfasından etkileşim jquery (ajax) üzerinden olacağından daha sonra standart bir MVC mimarisi şiddetle tavsiye edilir. Kesinlikle kendi mimarisinin katmanları (model ve görünüm olarak ayrılması) ve jquery sahip (en azından benim için) ve uyumsuz sizin MVC yürütmek edememek ek "özelliği" istiyorum.

Bu uç ek bir MVC framework kullanmak için kafa karıştırıcı alacağı gibi sadece görünüyor.

Bu konuda endişelenmenize gerek yok. Geliştirirken bağımsız örneğin zend çerçeve ve ExtJS kullanabilir, onlar gerçekten ayrı ürünlerdir. Bu tabakalar arasındaki bağımlılıklar should be kept simple. Endişelenmenize gerek yok.

The coupling is low, you only need to set up means to query data from your server-app and do whatever you want with in on the client side. The line between these systems is simple and won't confuse you.
Extjs doesn't really has an mvc structure imho. It offers predefined rich components. You glue these components with some configuration and set up the urls of your server where data can be fetched from.

Nasıl zend mvc cevap ajax alabilirim? Ben ZF proje kurşundan presentation about zf ↔ ajax görüntülemek için önerilir.

Onun çok iyi bir fikir, yana PHP MVC frameworks are bundled with JS frameworks:


güncellenen bağlantı, teşekkürler "İstisna e".