Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
yngwie
Člen | 4
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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.

yngwie
Člen | 4
+
0
-

Jasne som novy v Nette preto sa pytam co kto navrhuje, leno nemam s Nette zatial moc skusenosti, hento moje riesenie ku ktoremu som sa dostal bolo len z nudze, ze som nedel ako inak na to. V kazdom pripade dik za radu, idem to otestovat co to povie.