Flash a prepojenie s Nette
- yngwie
- Člen | 4
Ahoj,
riešim tu zrovna taký problém potrebujem predávať dáta z flashu do PHP
a zase opačne. Doteraz som
si vždy napísal skript a rovno ho volal z flashu napr. pre upload suborov som
mal skript upload.php a z flashu som ho zavolal a PHP mi vygenerovalo XML,
ktoré som si už vo flashy spracoval ako som chcel. Problém je, že pri
použití Nette si akosi neviem predstaviť, ako toto riešiť?
V podstate by som bol vďačný keby ma niekto navedie ako na to som v Nette nováčik a toto sa mi akosi nedarí premyslieť. Proste potrebujem, aby keď z flashu pošlem požiadavok s nejakými parametrami, aby mi PHP v Nette vrátilo XML štruktúru, len neviem akým spôsobom vytvoriť v rámci Nette PHP skript, ako som robieval bez použitia Nette a ako ho volať, a v akom tvare zadávať cestu.
A ešte by ma zaujímalo, kde by mal byť samotný flash v rámci Nette štruktúry umiestnený, v prípade, že ide o zrožitejšiu aplikáciu, ktorá ma na seba naviazané viaceré triedy, ktoré nevyužívajú priamo Nette.
Ďakujem za každú radu.
- iguana007
- Člen | 970
Já to řeším přes POST → z flashe a odpovídám flashi JSONem. Kód potom vypadá nějak takto (jen pro ukázku psáno z hlavy, tak tam jsou možná nějaké překlepy):
//flash vola URL /neajky-presenter/udelej-neco/
class NejakyPresenter extends BasePresenter {
protected function startup() {
parent::startup();
}
public function actionUdelejNeco() {
$nejakaData = $this->getHttpRequest()->getPost('nejakaPostPromenna');
if (!empty($nejakaData)) {
$response = array(
code: 200,
message: 'OK'
);
} else {
$response = array(
code: 500,
message: 'Chybi nejakaData'
);
}
//JSON co uz si flash zpracuje dal
$this->sendResponse(new JsonResponse($response));
}
}
- yngwie
- Člen | 4
Dakujem za skusim to nejak zapracovat do toho co mam. Ja som to teraz skusal tak, ze som si vytvoril presenter v tom som si z databazy natahal data co potrebujem na zaklade parametrov co som posielal z flashu napr. /presenter/action/id/ a z dat z databazy som zostavil XML priamo v sablone v latte, len som to este nedorobil, ale pride mi, ze by to mohlo aj tak fungovat, ale koser to asi neni:)
- iguana007
- Člen | 970
no me prijde na komunikaci s flashem uplne zbytecna prace navic pouzivani sablon a generovani XML v nich…
Metoda sendResponse ti ukonci beh presenteru a posila rovnou odpoved, proto ta absence sablon (uz se to k ni ani nedostane – musel bys do SendRersponse hodit tu vygenerevanou sablonu nebo se vyhnout SendResponse a udelat klasicky vystup) – a do $response si uz muzes nacpat co chces … pole, objekty, text… predas to JsonReponse, ten ti z toho udela JSON a mas klid.
Me se tato metoda uz na nekolika full flash webech (ktere komunikovaly s PHP backendem) osvedcila a zatim s tim nebyl zadny problem.