"Dövme"

4 Cevap php

Benim Flex uygulama ile benim veritabanına bağlamak için büyük bir başarı ile AMFPHP kullanıyorum. Ancak ben böyle bir şey yazarak, flaş dışındaki uzak isteklerini test edebilmek istiyorum:

http://localhost/amfphp/gateway.php?%5BWHAT I BURAYA PUT] DO

Ben, AMFPHP hizmetini çağırmak tarayıcı (veya C + + http bileşeni) olması için questionmark sonra koymak ne http isteği flaş "başlatmak" gerek yok ki.

4 Cevap

Eğer PHP bir AMF çağrı yapmak istiyorum gibi geliyor. Bir tarayıcı doğrudan bunu yapamaz. Veri ders PHP veya bir tarayıcı doğrudan işleyemez ikili AMF biçiminde döneceklerdi. Ben bile istek yapabilirsiniz sanmıyorum.

Ben SabreAMF kullanmanızı öneririz - Sen arama yapmak ve veriyi çözmek için bir AMF istemcisi gerekir.

Sabre AMF homepage

Bu basit bir istemci yöntem çağrısı kod gibi görünüyor budur.

require 'SabreAMF/Client.php';

function make_request($param1,$param2){
$client = new SabreAMF_Client('http://your.server/amfphp/gateway.php'); 
return $client->sendRequest('your_amf_service.yourAMFmethod',array($param1, $param2));
}

Eğer bu gibi çağırmak

$result=make_request('cow',300);

ve bir dizi döndürür.

Muhtemelen tabii ki, kolayca her birini çağırır böylece tüm yöntemleri ile bir PHP sınıfı kurmak isterdim.

AMFPHP Eğer sunucu tarafı hizmeti çağrıları taklit ve yanıtları görmenizi sağlar service browser, vardır. Bu temelde geri aynı hizmet dosyaya bir iç CURL isteği yapar ve sağlanan argümanları geçer, ve istemci tarafı Flaş app doğrudan yapıldığı gibi davranır.

AMF being a binary format, şey muhtemelen bu kadar basit olacak değil: Eğer veri kodlanmış olduğunu öğrenmek gerekecek ...

İlk adım olarak, belki siz, gateway.php script, sadece flash bileşeni denir zaman, bir dosyaya alır her şeyi dökümü olabilir?

Bu şekilde, alınan veri gibi görünüyor (ve POST veya GET geçirilen eğer sen bilirdin) nasıl görebiliyordu.

Belki sizin sunucuya bir istek "sahte" mümkün olacak gibi bu veri göründüğünü bağlı - ama sadece tarayıcınıza bir URL çağırarak gibi basit olacak sanmıyorum ...

AMFPHP geçidi göz önüne alındığında sadece çevirmek için bir mekanizma (gelen / ikili) ve çeşitli veri gelen parametreleri ve nihayet bir dönüş () ile bir sınıf / yönteme gönderme - Eğer doğrudan yönteme karşı sadece ünite testi, dolayısıyla atlama olabilir tüm AMF katman?