iyi php tamamen ajax tabanlı web uygulamaları için framework?

5 Cevap php

Ajax ağır odaklanmak bir web uygulama geliştiriyorum. bütün uygulama onlar endeksli böylece geleneksel sayfalarında bulunan parçacıkları dışında sadece tek bir sayfada.

bu yüzden çok yapısal JS-kodları var ve onlar ajax tabanlı uygulamalar için vardır orada herhangi çerçeveler vardır merak ediyorum.

örn. i okudum CodeIgniter, cakephp ve diğerleri bu odaklanmak yok. onlar sadece mvc göre düzenli php kodunu düzenlemek.

neden benim kod (özellikle js kodu) çok dağınık olmaya başlar ve ben gerçekten burada bazı yapıya ihtiyacımız var. javascript aynı mvc + oop yapısına sahip bir yolu var mı? ben bu konuda konuşmak kimseyi duymadım. i ayrı dosyalar, örneğin her sayfa için bir js kodları koymak bile, orada çizgiler bir yeri vardır ve ben bazı yeni fonksiyonlar eklemek zorunda zaman i kayıp ve crunch hissediyorum.

önerileri ve bu kadar yapısı nasıl fikirleri ile harika olurdu!

5 Cevap

Ben bu konuda yanlış bir zihniyet var.

AJAX-ağır siteleri veya uygulamalar o kadar farklı onların temellerini kendi Web 1.0 muhatapları formu değildir. Hala aynı temel bileşeni vardır: HTTP istekleri ve yanıtları. Bu sadece AJAX ile nadiren tam bir HTML sayfası talebinde bulunuyor. Çoğu zaman HTML, XML veya JSON parçacıkları talep ediyoruz.

Yani, sadece tahrik% 90 + AJAX MVC gibi mevcut sözleşmeler atmak ve yeni bir şey aramak gerekir anlamına gelmez bir web sitesi / uygulaması gerekir çünkü.

ZF, Symfony, kek, vb: ve en modern çerçeveler AJAX malzeme bol pişmiş var

EDIT

Ben ne soran yönelik, herhangi bir çerçeve, PHP veya JavaScript bilmiyorum. Söyleniyor onlar şimdi bir kaç yaşındasın olsa bile, size High-performance JavaScript: Why Everything You've Been Taught Is Wrong, Designing the Rich Web Experience izlerken bir şeyler alabilirsiniz, ve High Performance Ajax Applications.

Ayrıca, AJAX ağır ve onlar kene nasıl görme projelere kazma düşünün. ExtJS ve jQuery UI tabanlı uygulamalar iyi bir başlangıç ​​olacaktır.

Sen kontrol edebilirsiniz Zephyr. Kendim hiç kullanmadım, ben sadece AJAX uygulamaları için esas olduğunu biliyoruz.

symfony çerçeve Ajax için harika, ve onlar MVC backend ve JavaScript kodu, JQuery ve Scriptaculous gibi özellikle popüler JavaScript kütüphanelerini içeren bir iyi düşünülmüş bir yaklaşım var.

Sadece başkası yapmış görmek için chapter on Ajax in the Symfony Askeet tutorial okumak için zaman ayırmaya değer olacaktır. Ayrıca, Ajax chapter in the older symfony book Askeet öğretici gösterilen arama otomatik tamamlama özelliği dışında diğer kullanımları özetliyor.

Yii veya Zend Framework göz atın.

Ben bu gibi uygulamalar oluşturmak. Benim mimarisi:

  • Server-side: Zend Framework
    The PHP code is exposed as a set of JSON-RPC web services. The web services are implemented with Zend_Json_Server, and don't do anything HTML generation (all UI is handled client-side). Because of this, the server-side code is fairly limited (database interaction, session management, and security).
  • İstemci tarafı: ExtJS kodu ExtJS çerçeve barındıran tek bir PHP sayfadan önyükleyicisini edilir
    , ve bundan sonra dinamik talep üzerine ayrı ayrı dosyalar olarak javascript bileşenlerini yükler. Her javascript bileşeni kendini başlatmak için bir web hizmeti çağrıları ve yük / verileri kaydetmek. Çevirileri sınıf prototiplerini yama (dinamik PHP üretilen) özel çeviri dosyalar da vardır.

Bu yaklaşımda web hizmetleri not öncesi oluşturulan HTML herhangi bir tür geri göndermek yok. Onlar ileri geri mekik kayıtları, veri köprü vardır. Tüm UI inşaat istemci tarafında yapılır. Zend_Json_Server bir hizmet (sınıfın yöntemleri hizmetin fonksiyonları) gibi bir PHP sınıfı ortaya koyar. Bu temiz ve PHP tasarım tutar, ve UI esneklik sunar. Cep ön-uç RIA ön-uç olarak aynı sınıfları etrafında inşa edilmiştir. Bu aynı web hizmetleri (örneğin bir windows uygulaması, bir iphone app, ...) üstüne diğer uygulamalar oluşturmak da kolay. PHP kod az miktarda sunucu yükü düşük tutar.

Ben olsam javascript framework bir PHP çerçeve üzerinde daha ne kullanıyorsanız daha fazla odaklanmak istiyorum. Eğer tam domuz ajax (temel html çare olmadan) gidiyoruz, UI üreten katılan sunucu almak hiçbir nokta (sadece app yavaşlar) basitçe var.