ljubav flexa i php-a

Post on 10-May-2015

1.214 Views

Category:

Documents

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Adobe Flex i Zend Framework

• zašto povezati Flex i PHP?• kako povezati Flex i PHP?• Action Message Format (AMF)• Zend Framework• Zend_Amf• Hello, World• mapiranje objekata• debuggiranje• alternative Zend_Amf-u

• klasični razvoj bogatih aplikacija weba• HTML kao prezentacijski sloj• PHP na serveru zadužen za poslovnu logiku

• komunikacija aplikacijskih slojeva• poziv modula/stranice/skripte• AJAX

GET/POST

Ajax

XML

XHTML

• prednosti• poznata razvojna platforma, razni alati

• nedostaci• cross-browser problemi• teško razdvajanje aplikacijskih slojeva

• čemu teže klasične bogate web aplikacije?• Web 2.0+ izgled, interakcija• visok stupanj ergonomije• optimizacija komunikacije prema serveru

• rezultat• korištenje velikog broja tehnologija

• HTML, CSS, JavaScript + AJAX, jQuery, Prototype, + Flash + PHP

• jedan od ciljeva:

Što jednostavnije održavanje !!!

• ima li tu kontradikcije?

........

• Zend PHP• najpopularniji serverski programski jezik

• Adobe Flex• trenutno najkvalitetnija tehnologija za razvoj sučelja bogatih web aplikacija

• klasični HTTP servisi• dohvat poruka, XML objekata

• SOAP• često se prenosi previše formalnih podataka

• AMF• http://en.wikipedia.org/wiki/Action_Message_Format

• Action Message Format • object remoting protocol

• prva verzija – uz Flash Player 6 • aktualna generacija: 3.0

• poznati dodatci za PHP i AMF• AMFPHP• WebOrb for PHP• Zend_Amf• SabreAMF

Dohvat 2000 redaka

http://www.jameswardcom/census/

Dohvat 5000 redaka

http://www.jameswardcom/census/

• Flex – klijent• sadrži objekt s informacijama• spaja se na AMF servis• šalje objekt putem AMF protokola

• PHP – server• prima informaciju putem AMF protokola• obrađuje podatke• šalje odgovor u AMF obliku

• Flex – klijent• prihvaća odgovor

• potpuno razdvojeni aplikacijski slojevi• optimizirana komunikacija među slojevima• manji broj korištenih tehnologija

• skup klasa za kvalitetniji razvoj web aplikacija• prva verzija nastala 2006. godine• aktualna verzija 1.7, 1.8 beta

• neke od mogućnosti Zend Frameworka• MVC arhitektura• Zend_Db, Zend_Session, Zend_Filter• Zend_Date, Zend_Currency, Zend_Config• Zend_Json, Zend_Gdata, Zend_Pdf• Zend_Services, Zend_Uri,...• Zend_Amf

• skup klasa za rad s AMF protokolom • koraci u razvoju Zend_Amf servisa

• web servis klasa• metode servisa• objekti za slanje• modul za spajanje na servis

• koraci za pristup web servisu• MXML RemoteObject, VO klase

<mx:RemoteObject id="zendRemote" destination="zend" source="ZendAMFService" showBusyCursor="true" fault="faultListener(event)"> <mx:method name="login" result="loginResultHandler(event)"/> <mx:method name="getMessages" result="getMessagesResultHandler(event)"/> <mx:method name="register" result="registerResultHandler(event)"/> <mx:method name="getTeams" result="getTeamsResultHandler(event)"/></mx:RemoteObject>

<?phppublic class ZendAMFService{

public function login($manager){......}public function getMessages(){......}public function register(VOManager $manager, VOTeam $team){....}public function getTeams() {......}.....

}?>

package org.zgflex.vo{ [RemoteClass(alias="VOPlayer")] [Bindable]

public class VOPlayer{

public var id: int;public var name: String;public var smallPic: String;public var bigPic: String;public var description: String;public var transferValue: int;public var position : VOPosition;public var team: VOTeam;

}}

class VOPlayer {

public $id;public $name;public $smallPic;public $bigPic;public $description;public $transferValue;public $position;public $team;

}

$server = new Zend_Amf_Server();$server->setClass("ZendAMFService");$server->setClassMap("VOPlayer",

"VOPlayer");$server->setClassMap("VOPosition",

"VOPosition");$server->setClassMap("VOTeam",

"VOTeam");$server->setClassMap("VOLeague",

"VOLeague");echo($server->handle());

• Flex debugger + Zend Studio Toolbar• unutar istog Eclipse alata

• jednostavno povezivanje• Flex Builder + Zend Studio for Eclipse

• ne baš jednostavna implementacija• Zend Debugger

• Flex debugger + Xdebug plugin

• service browser• PHP-Actionscript mapping alati• poboljšano debuggiranje Zend Toolbara

• više informacija na:• http://framework.zend.com/manual/en/zend.amf.html

• dio Zend Frameworka• dobra korisnička podrška i stalno održavanje• planovi za sljedeće verzije

• service browser• bolja mogućnost mapiranja PHP i Actionscript objekata• bolja podrška za Zend Toolbar

• nedostaci• nepostojanje service browsera• otežano debuggiranje na strani servera

• AMFPHP• jedan od prvih alata• sadrži service browser• nesigurna budućnost razvoja

• WebOrb for PHP• odlični alati za analizu servisa• nejasna poslovna politika razvojnog tima

• ZgFlex Football Manager• Flex-Zend_Amf komunikacija• VO klase• Custom eventi i njihovo propagiranje• Custom komponente• ItemRendereri• svašta pomalo...• PHP servis• MySQL baza

• Action Message Format (AMF)• http://en.wikipedia.org/wiki/Action_Message_Format

• Zend Framework• http://framework.zend.com

• Zend_Amf• http://framework.zend.com/manual/en/zend.amf.html

• Zend Debugger• http://www.zend.com/products/studio/downloads• http://static.zend.com/topics/Debugger-Install.pdf

top related