AJAX - PHP İletişim desenleri

3 Cevap php

MySQL / PHP / JavaScript webapp inşa ediyorum.

In PHP, I've got all the classes from the domain od the problem which persist in the database. In Javascript, there is a cache with objects from the last queries.

JavaScript bir nesne, kullanıcı tarafından güncellenir, bu sunucu tarafında kendini güncellemek zorundadır. Hangi Bunu yapmanın en iyi yolu olurdu?

Should I create a class in PHP and Javascript for communication purposes? Should each object in Javascript send an AJAX query to a different php file depending on the class of the object it needs to update? Are there any patterns to follow to solve this?

3 Cevap

Bu hiç bir boyutta bir proje ise her sınıf için ayrı bir PHP dosyası oluşturma kesinlikle daha rahat olurdu. Ayrıca gibi şeyler sınıflarına göre farklı sunucu düzeyinde kimlik doğrulaması var sağlayacak.

JavaScript tarafında, kesinlikle (ben JavaScript yaklaşık 50 satır kez birini yaptı) birlikte kendinizi atmak veya orada olanlardan birini kullanmak ister, AJAX kitaplığı çeşit istiyorum. Sen (XML, JSON, sınırlandırılmış, ne olursa olsun) verileri seri bilen bir yardımcı işlev veya iki gerekebilir.

JavaScript nesne yönelimli kod yazabilirsiniz, ve bunu zaten yapıyoruz, bu tutarlılık için doğru parametreleri ile AJAX kütüphanesini çağırmak için write () veya updateServer () yöntemini eklemek mantıklı. Eğer OO kod yazma değilseniz, yine ayrı işlevleri için mantıklı olabilir, ama birden fazla yer var sadece eğer bu nesneleri kalıcı gerekir.

En AJAX çerçeveler (jQuery vb) 'XMLHttpRequest' olarak ayarlı bir 'HTTP_X_REQUESTED_WITH' başlığı gönderir. Ben kullanmaya görüntülemek karar için kullanmak ister.

Bu standart bir GET / POST isteği yapılmış ise, aynı url JavaScript ile JSON, XML veya HTML pasajı almak veya tam belgeyi dönmek için kullanılabilir anlamına gelir.

Bu kullanıcı JS devre dışı olmalıdır app sadece normal taleplerden döner gelir.

Ben PHP ve JavaScript ile REST ful API içine bir göz olması gerektiğini düşünüyorum. Eğer etki alanı modeli olarak benzersiz kaynakları nesneleri adresi (örneğin / application/books/1). Sadece CRUD fonksiyonelliğini gelen etki modeli güncelleştiren bir genel Denetleyicisi uygulamak istiyorsanız (gibi bir ORM aracını kullanarak, örneğin Doctrine) yeterli olmalıdır.

Eğer gerçekten JavaScript istemci tarafında aynı model olmasını istiyorsanız sizin Uygulama bağlıdır. Ben DİNLENME üzerinden yüklenen ve daha sonra HTML Formlar doldurulur olacak sadece istemci tarafında tek bir JavaScript nesne yönetmek fikir gibi ve örneğin geri göndermek JSON sunucu (ya da basit bir formu olarak teslim) gibi. Size istemci tarafı model fikri temyiz ederse, ben JavaScript MVC oldukça ilginç bir model uygulaması vardır bakmak öneririz.