PHP iletişim Flex için en iyi yöntem?

12 Cevap php

Flex ve PHP arasındaki iletişim için en iyi yöntemi nedir?

Geçmişte, AS2 ile AMFPHP kullanılan ve çoğunlukla büyük çalıştı (AMFPHP avantajı da sorunsuz bir Javascript veya Actionscript Frontenflerin biriyle aynı uzaktan PHP kullanabilirsiniz sağlayabilirsiniz JSON modu olmasıdır).

Ancak, AMFPHP gibi görünüyor gerçekten artık korunmaz. Peki insanlar bunu değiştirmek için tavsiye edersiniz? Şimdiye kadar, ne benim bulduğum:

  1. Zend_AMF (bizim için çok karmaşık görünüyor, biz aksi Zend framework kullanarak değil)
  2. AMFPHP (uzun-vadeli destek emin olmadığı bazı güncel Flex desteklemek için yapılmıştır ve oldukça kararlı görünüyor ama)
  3. XML (AS3 güzel XML işleme rutinleri vardır, ama PHP tarafında bir ağrı daha bulunuyor)
  4. WebORB (Ben bu konuda hiç deneyimim var)
  5. Roll-our-own JSON veya bazı diğer veri-metin serileştirme sistemi (PHP'nin serialize (), XML, vs vs) kullanılarak

Ben alışığım ne yana Çoğunlukla, hatta nedeniyle olumsuz yanlarını, AMFPHP doğru eğilerek ediyorum. Ben başka bir şey geçiş düşünmelisiniz Herhangi bir sebebi var mı?

12 Cevap

Hızlı ve verimli bir iletişim olmasını istiyorsanız, ben çok bir AMF protocol yerine GERİSİ veya JSON özel biçimi ile yapışmasını öneririz.

ZendAMF is actually not very confusing. üzerine tanıtım öğretici izle GotoAndLearn, oldukça basit.

Ve sadece bu yüzden AMFPHP ZendAMF üzerinde çalışmak taşındı, some of the developers biliyoruz. Yani bir anlamda, ZendAMF AMFPHP devamıdır.

ZendAMF Good short read - http://theflashblog.com/?p=441

Benim için bu bir beyin olduğunu. Zend framework orada en iyi php çerçeveler biridir ve şimdi Flash müşterilerine konuşabilirsiniz. Adobe desteği ile kapalı üst, benim kitapta yapılan bir anlaşma var.

Alternatifler:

WebORB for php http://www.themidnightcoders.com/products/weborb-for-php

AMFPHP http://www.amfphp.com If you read the url above, you'll probably know why this is no longer on my radar.

Ben (ki zaten muhtemelen biraz öznel çünkü) en iyi ne size, ama ne yapabilirim benim yeni bir projeyle ilgili size bir olamaz.

Bu çok zengin bir web uygulaması, ve sunucuya veri istekleri sık sık olurdu, çünkü ben emin istekleri boyutu mümkün olduğunca küçük yapmak istedim. Bu formatı olarak JSON tercih demek.

Sonraki, uygulamanın doğası ve benim flaş / esnek geliştiriciler 1000 mil uzakta olduğu gerçeği becuase, ben basit ve vatansız olan bir API gerekli. Bu sonuçta HTTP + REST götürdü.

Yani, benim app iletişim katmanı gibi URI'lerinin ile DİNLENME kaynakların basit bir Zend Framework çalışan set

user/10
review/15
location/8/reviews

Hepsi JSON döndürür. Flash istemci kolayca başarısızlık işleyebilir, böylece tüm hatalar için ortak bir JSON biçimi (istisnalar tuzak ve JSON nesneleri dönüştürülür) yanı sıra, var.

Eğer Zend gibi bir çerçeve kullanarak değilseniz başka bir nedenle daha bu basit eğer, düzenli ol AMFPHP, yine harika. Ben onunla rahat hissediyorum, neden bunun için gitmek değil mi? Bu AMF arayüzlerin rolü hakkında bir şey gerçekten çok fazla yapmanız gerekmez, ve AMFPHP sınıf haritalama ne var ki, ArrayCollection, harika performansına ayrıştırma kayıt .... hatta bu yana, XML ile iyi yapar sıkıştırılmış olur. Charles ile birlikte hizmet tarayıcı beni de kapsamış.

Ben ZendAMF çaba orijinal AMFPHP ile ilgilidir nasıl çok mantıklı yapmak mümkün olmamıştır. Ben kazmak iken, ben sadece Wade Arnold'un blog okuma, Nabble'a üzerinde AMFPHP posta listesi aşağıda ... sadece tamamen açık olmadığını söylüyorum.

Zend AMF kullanmayı düşünmelisiniz. Zend Framework bir seçim olması için tasarlanmış ve bu uygulama için (bu durumda Zend AMF olarak) tek bir bileşen almak için tamamen Tamam yani çerçeve seçtik.

Zend AMF kullanımı son derece kolaydır. Yapmanız gereken tek şey size eylem komut sınıflara sınıf haritalama ortaya çıkarmak ve belirtmek istediğiniz işlevleri / sınıfları belirlemek olduğunu. Her şey hemen hemen saydamdır.

Bu bağlantı PHP WDMF (Flex için WebORB Veri Yönetimi) için WebORB nasıl kullanılacağını gösteren bir screencast olduğunu.

http://www.themidnightcoders.com/products/weborb-for-php/developer-den/screencasts/weborb-data-management-for-flex-and-php.html

Flaş ve PHP arkaplana ilgili tüm projelerde, ben AMFPHP veya XML istekleri ile ya çalıştı.

Gerekli tüm sınıfları oluşturmak için - bu özel teknoloji her şeyi bağlar ve sunucu tarafında bazı ek yükü gerektirir rağmen AMFPHP gerçekten, gelecek bakım için understanting uygulama kolaylaştırır.

XML başı olarak, iyi, ne burada kazanç standart DİNLENME webservices vardır ve o (tarayıcılarda bağımlı JSON veya başka bir teknoloji yok kullanan ise, örneğin, hem bir masaüstü uygulaması verileri çekin Flaş bağlı değildir ) bunun için izin verir.

XML:% 100 gelecek "destek" istiyorsanız, o zaman ben ne de herhangi bir desteğe ihtiyacı yoktur tavsiye ederim.

PHP XML SimpleXML ile çok basit olabilir.

Ben sadece PHP API karşı basit aramalar için döner olarak JSON kullanmak istiyorum.

Ben kesinlikle WebORB için giderdim. Ben vardı bir önceki iş. NET ile birlikte kullanılır ve onunla kodlamak için bir zevkti. Kullanım kolaylığı ve iyi düşünülmüş bir yönetim konsolu öğrenmek için çok hızlı yapmak ve kendi dokümantasyon çok tamamlandı; Ben bunu zaten bildiklerini sırf AMF ile kalmak için cazip biliyorum, ama WebORB denemeye değer olduğuna inanıyorum.

Bu screencast PHP ile Actionscript nesil için, oldukça süslü bir göz atın.

Şerefe.

PHP yaptım yeni bir proje (bir oyun için yüksek puanları) bu yüzden, ben Sephiroth en Serializer kullanılan, oldukça iyi bir serialize() işlevi vardır. PHP de olduğu gibi Flash'ın tarafında serileştirme yaklaşık olarak kolaylaştırır. Serileştiricisi da AMF gibi (json / xml aksine) veri türleri ile ilgilenir.

Olumsuz - AMF gibi kompakt değil, ama bu gzip sıkıştırma işleyemez bir şey değil.

AMF oldukça durumsal bir avantaja sahiptir. Eğer büyük ve karmaşık nesne aktarmak için arıyorsanız, elbette AMF ile gitmek. Ama küçük insanlar küçük nesneleri transfer yaparken AMF taşıdığı yükü hakkında bilgi vermez. Yalnızca AMF sizin yükü boyutunu üç katına çıkabilir kullanarak 3 özellikleri ile bir nesne transfer ediyorsanız.

Bir yan not olarak, ben RESTful mimarisinin büyük bir savunucusu değilim. JSON ve AMF de sadece temsiller olduğu, hem kabul eden bir REST hizmet oluşturmak ve zamanında müşteri ile gerçek temsilini pazarlık yapabilirsiniz.

"Hızlı ve verimli bir iletişim olmasını istiyorsanız, ben çok bir AMF protokolü ile yapışmasını tavsiye"

Eğer, hızlı, verimli ve yaygın iletişim istiyorsanız, json ile gitmek. Sonra web hizmeti flaş, ajax, veya normal http istekleri için hazır olacaktır.