Ljubav Flexa i PHP-a
-
Upload
sampetruda -
Category
Documents
-
view
1.215 -
download
10
Transcript of Ljubav Flexa i PHP-a
![Page 1: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/1.jpg)
Adobe Flex i Zend Framework
![Page 2: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/2.jpg)
• 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
![Page 3: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/3.jpg)
• 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
![Page 4: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/4.jpg)
• prednosti• poznata razvojna platforma, razni alati
• nedostaci• cross-browser problemi• teško razdvajanje aplikacijskih slojeva
![Page 5: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/5.jpg)
• č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
![Page 6: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/6.jpg)
• jedan od ciljeva:
Što jednostavnije održavanje !!!
• ima li tu kontradikcije?
........
![Page 7: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/7.jpg)
• Zend PHP• najpopularniji serverski programski jezik
• Adobe Flex• trenutno najkvalitetnija tehnologija za razvoj sučelja bogatih web aplikacija
![Page 8: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/8.jpg)
• 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
![Page 9: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/9.jpg)
• 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
![Page 10: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/10.jpg)
Dohvat 2000 redaka
http://www.jameswardcom/census/
![Page 11: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/11.jpg)
Dohvat 5000 redaka
http://www.jameswardcom/census/
![Page 12: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/12.jpg)
• 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
![Page 13: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/13.jpg)
• potpuno razdvojeni aplikacijski slojevi• optimizirana komunikacija među slojevima• manji broj korištenih tehnologija
![Page 14: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/14.jpg)
• 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
![Page 15: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/15.jpg)
• 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
![Page 16: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/16.jpg)
• 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() {......}.....
}?>
![Page 17: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/17.jpg)
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());
![Page 18: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/18.jpg)
• 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
![Page 19: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/19.jpg)
• service browser• PHP-Actionscript mapping alati• poboljšano debuggiranje Zend Toolbara
• više informacija na:• http://framework.zend.com/manual/en/zend.amf.html
![Page 20: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/20.jpg)
• 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
![Page 21: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/21.jpg)
• 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
![Page 22: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/22.jpg)
• ZgFlex Football Manager• Flex-Zend_Amf komunikacija• VO klase• Custom eventi i njihovo propagiranje• Custom komponente• ItemRendereri• svašta pomalo...• PHP servis• MySQL baza
![Page 23: Ljubav Flexa i PHP-a](https://reader031.fdocument.pub/reader031/viewer/2022013105/554ebcb0b4c905de468b484f/html5/thumbnails/23.jpg)
• 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