Hy lm diu d c phong cch vi mt s khung cng tc mi nht hin c
Muc d: Trung bnh Ken Ramirez, Sng lp vin, Axsys Technology Group 07 08 2009 Tm hiu qu trnh vit cc ung dung JavaScript + XML khng dng b (Ajax) bng cch su dung m JavaScript nguyn sinh v PHP. Bi vit ny gioi thiu mt s khung cng tc v cc giao din chuong trnh ung dung (API) khc nhau, giam bot duoc s luong m ban cn vit d hon tt mt ung dung web dua trn Ajax. PHP d c mt tu nhiu nm nay. Thuong n duoc su dung nhu mt ngn ngu kich ban lnh pha my chu d pht trin cc ung dung dua trn web kh nhanh chng v dat duoc cc kt qua tt. Thuc t mt s du n dua trn web ph bin nht nhu PHP-Nuke, osCommerce, v Joomla tt ca du duoc pht trin bng PHP v ngy nay tip tuc lon manh. Ajax cung d c mt duoc mt thoi gian, nhung mi gn dy moi c nhiu trang web duoc pht trin bng cch su dung cc thuc hnh Ajax. Ajax cung cp cng ngh cho php mt trang web hay ung dung dua trn web giao tip voi my chu m khng cn phai lm moi lai ton b trang. V co ban, cc dc tnh khng dng b cung cp phuong tin d trnh duyt cua my khch gui yu cu hoc goi cc phuong thuc m duoc thuc hin bn pha my chu. Kt qua tu my chu sau d c th duoc xu l bn pha khch bng cch su dung m JavaScript, v bt ky kt qua du ra no cung c th duoc trn vo khung nhn HTML mt truoc (front-end) hin tai m khng cn lm moi lai trang. Khi su dung Ajax, ban khng tht su su dung mt ngn ngu lp trnh moi. Trn thuc t, tt ca nhung g ban lm l tn dung cc cng ngh hin c v dua vo su dung chng tt hon. Khi kt hop voi nhau, PHP v Ajax cung cp mt nn tang manh d tao ra cc trang web hoc cc ung dung dua trn web voi cc tnh nng vung manh. Bi ny xem xt mt s cch su dung PHP v Ajax v khao st cch ban c th tn dung chng trong cc ung dung dua trn web cua ban nhu th no. Truoc khi ban tin hnh, mt su hiu bit vung vng v HTML v m JavaScript l rt quan trong. Ban cung cn quen bit PHP nhu l mt ngn ngu kich ban lnh, mc d hu ht ngn ngu kich ban lnh no khc cung c th thay th duoc n. Giao tip vi my ch Cha kha cho vic giao tip khch/chu trong Ajax l su dung di tuong XMLHttpRequest cua JavaScript. Di tuong ny duoc hu ht cc trnh duyt h tro, gm Windows Internet Explorer 5.0 v cc ban cao hon, Safari 1.2, Mozilla Firefox, Opera 8 v cc ban cao hon, v Netscape 7. D hiu duoc su khc nhau giua cc giao tip khch/chu truyn thng v giao tip khch/chu dua trn Ajax, ti s su dung mt v du. Theo truyn thng, d trnh duyt khch gui ni dung dn my chu d xu l hoc luu tru trong mt co so du liu, ban thuong su dung mt hnh dng POST d gui ni dung tu cc truong du vo thu thp duoc o pha khch toi my chu. My chu xu l ni dung ny bng cch su dung PHP (hoc bt ky ngn ngu kich ban lnh no m ban lua chon), doc hoc luu du liu bng cch su dung mt co so du liu, v tra lai cc kt qua duoc nhng bn trong m HTML. Sau d HTML s duoc trnh duyt xu l v mt trang moi duoc biu hin ra cho nguoi su dung cui cng xem. Hnh 1 m ta r kich ban ny.
Hnh 1. Quy trnh truyn thng d d trnh d liu v nhn kt qua Page 1 of 11 Xy dung cc trang web dua trn Ajax bng PHP
Khi su dung Ajax, cung cng quy trnh ny nhung cn t thoi gian hon o mt truoc. tuong l lm cho nguoi su dung cam thy nhu l ho khng bao gio phai doi mt trang cp nht. Thuc t l bng cch su dung Ajax, ban c th pht trin ton b ung dung web bng cch su dung chi mt trang HTML don le, mc d ti ht suc khuyn ban dung lm nhu vy. Theo cch truyn thng, nu ban mun gui mt biu mu cho my chu, ban thit lp mt hnh dng (action) cua biu mu d v chi dinh r kiu hnh dng l POST. Voi Ajax, ban khng thuc su d trnh mt biu mu truc tip cho my chu. Thay vo d, ban goi mt hm JavaScript, n kim tra lai v thu thp cc gi tri tu biu mu cua ban v sau d gui du liu dn mt hm o pha my chu bng cch su dung XMLHttpRequest. Kt qua duoc gui tra lai tai mt dim cho trnh khch, sau d trnh khch xu l kt qua v cp nht cc phn cua trang cn duoc cp nht. Trong truong hop ny, trang d khng duoc lm moi lai ton b. Do d, cn t thoi gian hon d xu l m HTML. Kt qua l hiu nng hoat dng tt hon. Hnh 2 minh hoa quy trnh ny hoi khc di nhu th no khi su dung Ajax d tao ra mt cp nht cho trang web chu khng phai l lm moi ton b trang.
Hnh 2. Quy trnh Ajax d d trnh v nhn kt qua Page 2 of 11 Xy dung cc trang web dua trn Ajax bng PHP
Hy quan st cc buoc cn thit d thuc hin giao tip voi my chu, mt thuc t tu m JavaScript cua ban. Truoc tin, ban dinh nghia biu mu s trng nhu th no, nhu trong Lit k 1.
Lit k 1. Biu mu HTML
Biu mu ny sinh ra kt qua du ra nhu Hnh 3.
Hnh 3. Du ra cua biu mu HTML
Biu mu ny khng lm diu g tht su c ch, nhung hy vong n gip ban bt du thy nhung noi m ban c th tch hop Ajax vo m cua mnh. Hy ch rng su kin onClick duoc xc dinh trn nt nhn. Su kin ny duoc thit lp d goi mt hm JavaScript c tn l ajaxFunction. Dy l noi moi diu tro nn th vi trong th gioi Ajax. Trong pham vi phuong thuc ny, ban thuc hin mt vi buoc, chng duoc giai thch trong phn ny: 1. Tao mt c th cua di tuong XMLHttpRequest cn c. 2. Mo mt kt ni dn dich vu pha my chu m ban mun goi. 3. Bo cho Ajax bit s goi phuong thuc no khi m pha my chu thi hnh xong v tra lai kt qua. 4. Gui yu cu. <body> My I1sf Aax Page
Page 3 of 11 Xy dung cc trang web dua trn Ajax bng PHP 5. Phan hi khng dng b. Tao mt c th Ban cn tao ra hm ajaxFunction v cung cp mt bin d luu giu di tuong XMLHttpRequest khi n duoc tao ra. Nhu voi bt ky phuong thuc JavaScript no, ban dinh nghia phuong thuc d nhu trong Lit k 2.
Lit k 2. D|nh nghia cua ajaxFunction
Hu ht cc trnh duyt hin dai vn d h tro di tuong XMLHttpRequest. Tuy nhin, cc trnh duyt cu hon nhu Internet Explorer 6 di hoi ban phai tao ra mt di tuong ActiveX d thuc hin vic goi khng dng b dn my chu. Diu ny gy ra mt vn d v ban phai xc dinh m cua ban dang chay trong trnh duyt no v tao ra dng di tuong d lm duoc vic. M JavaScript cung cp mt giai php bng su h tro cua n di voi khi chuc nng thu/bt (try/catch). Ban chi cn thu tao ra cc di tuong theo thu tu uu tin v d khi try/catch xu l phn cn lai, tuong tu nhu m dua ra trong Lit k 3.
Lit k 3. To di tung XMLHttpRequest thch hp
Nhu ban d thy, tt ca cc trnh duyt hin dai duoc vit d h tro vic tao nguyn thuy di tuong XMLHttpRequest. C mt tranh lun v vic Microsoft c tht su h tro di tuong XMLHttpRequest nguyn thuy khng hay chi don gian l bao gi mt trin khai thuc hin ActiveX bng cch su dung mt mt ngoi. M mt kt ni dn my ch Bn trong chnh hm JavaScript y, sau khi tao ra di tuong XMLHttpRequest, ban tip tuc bng vic mo mt kt ni dn kich ban lnh pha my chu bng cch su dung phuong thuc open cua di tuong XMLHttpRequest. Phuong thuc ny tip nhn hai tham s bt buc v ba tham s ty chon, nhu m ta trong Bang 1.
TBang 1. Cc tham s cua phuong thc open funcf1on aaxIuncf1on{} { va xm1hffp = nu11 . . . }
Page 4 of 11 Xy dung cc trang web dua trn Ajax bng PHP
Di voi v du ny, chi cn thuc hin mt thao tc GET yu cu mt kich ban lnh trn my chu tra v ngy gio (time) hin tai. Ban cung bo cho phuong thuc open bit rng ban mun thuc hin khng dng b thao tc ny, nhu trong Lit k 4.
Lit k 4. Gi phuong thc open
Bo cho Ajax bit gi phuong thc no khi m pha my ch thi hnh xong Khi ban goi my chu bng cch su dung Ajax, kt qua phan hi s goi lai thng qua hm callback. Ban c th tao ra v dt tn mt hm hoc tao ra mt hm khng tn, nhu ti d thuc hin. Trong truong hop no th ban cung cn bo cho di tuong XMLHttpRequest bit hm callback no duoc su dung bng cch thit dt thuc tnh onReadyStateChange cua n, nhu trong Lit k 5.
Lit k 5. Thit d}t thuc tnh onReadyStateChange
Nhu ban d thy, phuong thuc ny kim tra readyState sau khi n duoc goi, tm kim mt gi tri kha di l 4. C nm trang thi kha di, chng duoc m ta trong Bang 2.
Bang 2. Cc gi tr| kha di di vi readyState Tham s M ta method Chi r phuong thuc HTTP m ban mun su dung. Cc gi tri kha di gm GET, POST, PUT hoc HEAD. url Chi r duong dn tuyt di hoc tuong di dn du liu XML hay dich vu web XML pha my chu m ban mun goi ra. D ngn chn cc tn cng qua kich ban lnh xuyn trang (cross-site scripting attacks), cc yu cu Ajax chi duoc thuc hin cho URL voi cng giao thuc, my chu, v cng nhu trang chua yu cu Ajax. Mc d mt s trnh duyt c th cho php cc URL tuy , ban khng nn dua vo h tro ny tu tt ca cc trnh duyt. Nu ban cn giao tip xuyn trang (cross-site communication), n phai duoc xu l o pha my chu bng cch su dung cURL hoc mt s phuong tin khc. async True nu ban mun gui yu cu dn my chu theo kiu khng dng b. Cung cn phai gn tham s ny l true nu ban d bt (set) thuc tnh onreadystatechange, diu m ti s thao lun ngay sau dy. Gn tri tham s ny l false s ngn chn hu ht cc trnh duyt tip nhn thm bt cu du vo no tu nguoi su dung. Nu ung dung cua ban l linh hoat du d tip tuc nhn du liu du vo trong khi hoat dng mt sau (back-end operation) hon tt, tt nht l thuc hin hnh dng cua ban khng dng b. user Chi r mt tn nguoi su dung duoc su dung vo muc dch xc thuc nguoi su dung truoc khi thuc thi kich ban lnh. Vic ny chi cn thit khi kich ban yu cu xc thuc nguoi su dung. password Chi r mt mt khu duoc su dung vo muc dch xc thuc nguoi su dung truoc khi thuc thi kich ban lnh. Vic ny chi cn thit khi kich ban yu cu xc thuc nguoi su dung. funcf1on aaxIuncf1on{} {
Page 5 of 11 Xy dung cc trang web dua trn Ajax bng PHP
M ny v co ban ni rng, Nu trang thi ni rng thao tc ny d hon tt, th tip tuc. Khi trang thi l d hon tt, buoc tip theo l cp nht phn cua trang cn phai cp nht bng phan hi tu my chu. Diu ny duoc thuc hin bng cch ly gi tri d duoc gn cho thuc tnh responseText, gi tri ny duoc din boi phan hi tu my chu. Cui cng, ban ngung di tuong XMLHttpRequest lai bng cch gn cho n gi tri null. Gi yu cu Chi cn mt buoc nua m ajaxFunction phai thuc hin, v d l gui yu cu cho my chu. Diu ny duoc thuc hin voi phuong thuc send cua di tuong XMLHttpRequest. Nu yu cu l khng dng b, phuong thuc tra v ngay lp tuc sau khi gui yu cu. Nu n l dng b, phuong thuc ny chi tra v sau khi nhn duoc phan hi, diu d c nghia l chuc nng Ajax bi kha lai dn khi phuong thuc d tra v. Phuong thuc ny c mt tham s m ban c th gn gi tri null hoc mt s cc gi tri khc. Th du ban c th truyn cho n mt di tuong DOMDocument, mt InputStream, hoc mt String. Gi tri duoc su dung nhu l phn thn cua yu cu HTTP nu phuong thuc yu cu l POST. Hm ajaxFunction hon chinh s ging nhu Lit k 6.
Lit k 6. Hm ajaxFunction hon chinh
Phn hi khng dng b Do su pht trin Ajax c ban cht l khng dng b, ban phai cn thn voi su tuong tranh v hy quan tm dn chui xu l cua ban. Diu ny dc bit quan trong khi ban thuc hin nhiu loi goi Ajax v nhn duoc cc phan hi theo mt trnh tu khng bit truoc. Quy tc ngn tay ci l hy cho doi diu bt ngo. C th c nhung ln m phan hi tu my chu cn quay tro lai my khch nhu l mt ti liu XML. Trong nhung truong hop nhu th, ban c th su dung thuc tnh responseXML cua di tuong XMLHttpRequest Gi tr| M ta 0 Khng duoc khoi tao 1 Dang nap 2 Nap xong 3 Tuong tc 4 Hon tt funcf1on aaxIuncf1on{} { va xm1hffp=nu11
Page 6 of 11 Xy dung cc trang web dua trn Ajax bng PHP d ly ra du liu. Lit k 7 th hin kich ban lnh PHP s nhu th no trong truong hop ny.
Lit k 7. M PHP tra v mt ti liu XML
Nhu ban d bit, m tao ra mt ti liu XML, biu hin bng dng '<?xml version="1.0" encoding="ISO-8859-1"?>' truoc khi gui phn cn lai cua phan hi. M pha khch phai duoc vit sao cho n truoc tin s rt ra ti liu XML tu thuc tnh responseXML phn tch du liu bng cch su dung DOM (M hnh Di tuong Ti liu), v sau d hin thi du liu trn trang bng cch sua di cc truong thch hop d c sn trn trang d. Lit k 8 th hin cc thao tc ny.
Lit k 8. M JavaScript xu l mt ti liu XML
M rng Ajax bng cc khung cng tc JavaScript Ban hn d nhn thy rng chng c g dc bit cn thit tu m PHP pha my chu d thuc hin cc chuc nng Ajax o mt truoc. Trn thuc t, ban c th thuc su vit kich ban lnh pha my chu bng bt ky ngn ngu no m my chu web cua ban c th goi thuc hin v tra lai kt qua cua n cho trnh khch. Tuy nhin, c mt s sng kin mo rng Ajax d lm cc vic khc. Th du, c mt s thu vin cung cp nhiu diu khin (controls) mt truoc hp dn truc quan hon nhiu d bin uoc mo cua Web 2.0 thnh hin thuc. Hu ht cc thu vin ny duoc vit bng m JavaScript v cung cp cc dc tnh v API lm giam bot s luong m JavaScript ban cn vit o mt truoc. Cung ph bin trong hu ht cc thu vin ny l vic su dung K php Di tuong JavaScript (JavaScript Object Notation - JSON); d l mt dinh dang trao di du liu gon nhe duoc su dung trn ton b Internet hin nay. Sau dy l mt s thu vin m ban c th thy b ch: Prototype Script.aculo.us Dojo jQuery Prototype Prototype cung cp m JavaScript dua theo lop (class-driven) d pht trin cc ung dung web dng. Ngoi ra, khung cng tc Prototype cung cp mt di tuong Ajax ton cuc, lm cho d vit cc hm Ajax cua ban hon, v thm ch l d xu l hon. Su dung khung cng tc ny d pht trin Ajax cua ban cn mang lai loi <?php
Page 7 of 11 Xy dung cc trang web dua trn Ajax bng PHP ch b sung l ban khng cn phai xu l cc vn d xuyn nhiu trnh duyt (cross-browser) nua. Voi mt ln goi, ban c th cung cp URL dch, phuong thuc HTTP (POST hoc GET), phuong thuc goi lai phan hi (response callback method), v nhiu thu khc. Script.aculo.us Mt khung cng tc JavaScript ph bin khc c mt s diu khin (controls) giao din nguoi su dung dep mt l Script.aculo.us. Khung cng tc ny cung cp mt diu khin thuc hin cc chuc nng Ajax cho ban. Thm ch c mt diu khin truong vn ban tu dng hon tt ging nhu kiu Google m ban c th su dung d ly vn ban tu nguoi su dung cua ban. Cc chuc nng Ajax cho php ban d dng xc dinh duoc muc tiu truy vn bn pha my chu. Phan hi kt qua duoc su dung d hin thi mt tp hop cc xu k tu m my chu tra v cho nguoi su dung cui cng nhu l cc lua chon kha di. Dojo B cng cu Dojo l mt khung cng tc Javascript v Ajax m ngun mo, ni ting v tc d cua n v kch thuoc chi 25KB. Trong vu di Ajax, Dojo cung cp cc API cua chnh n d gui v nhn cc cuc goi khng dng b dn v tu mt my chu. Khng c g thay di o pha my chu. M PHP cua ban tip tuc phan hi ging nhu n lun lun lm di voi bt ky loi goi Ajax no. jQuery jQuery thuc hin mt cng vic tuyt voi l don gian ho co ch d tm kim cc phn tu trong cc trang cua ban v b sung cc chuc nng moi, dc tnh moi, v dinh dang ngay trong khi dang chay thi hnh (on the fly at runtime). N cung gm ca mt s dc tnh Ajax dc bit cho php ban cung cp cc tuong tc Ajax trn cc trang Web cua ban. M rng PHP d h tr Ajax By gio ban d hiu nhung diu co ban, ti s cho ban thy hin nay PHP dang duoc mo rng nhu th no d h tro Ajax. Tu phi canh PHP, vic mo rng Ajax khng chi l vic vit lai m truy cp XMLHttpRequest (XHR). By gio ban d hiu nhung diu co ban, ti s cho ban thy hin nay PHP dang duoc mo rng nhu th no d h tro Ajax. Tu phi canh PHP, vic mo rng Ajax khng chi l vic vit lai m truy cp. Cc dich vu mt truoc cn duoc tnh dn bao gm thi hnh dich vu mt sau, truy cp mt co so du liu, v thuc hin cc dich vu mang mt sau tu mt truoc. Mt s khung cng tc m ti d thy trn thi truong cho php cc nh pht trin vit m cua ho trong ngn ngu mt sau (back-end language), v khung cng tc ny tao ra m JavaScript mt truoc. V co ban, ban bo cho n bit cc phuong thuc mt sau no phai duoc goi, v khung cng tc ny vit ra cu trc ngoi mt truoc (front-end faades) bng m JavaScript; m ny c th cp pht mt di tuong XHR, gui yu cu, nhn phan hi, v sau d chuyn n toi mt hm ty theo lua chon cua ban hoc thm ch gn du ra truc tip toi mt phn tu HTML m ban lua chon. tuong l d giam bot s luong m JavaScript m ban phai vit. Voi suy nghi y, tt ca cc phn tu m ban mun cung cp cc hm cho chng c th duoc ghi d v buc ni voi cc phuong thuc mt sau; cc phuong thuc mt sau ny phan ung lai khi xay ra mt su kin mt truoc d dinh. Sau dy l cc khung cng tc dng duoc nghin cuu: PHP AJAX PHP-Ext ExtPHP PHP AJAX PHP AJAX cho php ban mo rng mt lop PHP bng lop cua ring ban. Sau d ban chi cn goi ra mt phuong thuc khoi tao khi tp tin PHP cua ban duoc goi ra, v n tao ra m XHR mt truoc cn thit cho ban. Sau d, su kin mt truoc phai goi mt hm JavaScript voi tn ging nhu tn lop PHP cua ban. M ny trng ging nhu Lit k 9.
Lit k 9. Mo rng PHP AJAX bng lp PHP cua ring bn c1ass aaxapp exfends phpaax { funcf1on 1npuf{} { } funcf1on 1oad1ng{} { } Page 8 of 11 Xy dung cc trang web dua trn Ajax bng PHP
Cc phuong thuc ghi d duoc goi ra d thuc hin cc nhim vu khc nhau trong vng doi cua Ajax. Th du, nu mt hnh dng duoc thi hnh o mt truoc, phuong thuc main() cua lop o mt sau duoc goi ra d xu l hnh dng ny. Bt cu du liu du vo no thu thp o mt truoc du duoc chuyn toi phuong thuc input(). PHP-Ext PHP-Ext cung cp mt thu vin duoc vit d h tro cho ca PHP 4 v PHP 5, cung cp nhiu diu khin giao din nguoi su dung o mt truoc. Co so nm duoi cua cc diu khin ny thuc su duoc Ext JS cung cp, nhung ci lm cho khung cng tc ny l duy nht l o ch ban khng phai tp trung vo vic cung cp JavaScript d thao tc cc diu khin mt truoc. Thay vo d, ton b tuong tc voi cc diu khin duoc thuc hin bng cch su dung cc dich vu mt truoc duoc vit bng PHP. M PHP duoc goi ra khi cn thit, ty thuc vo cc su kin m ban d chi dinh r rng ban mun xu l su kin y. Khi xut hin mt su kin d dng k, phuong thuc PHP ph hop duoc goi ra trong m cua ban. Voi cch ny, ban c th din vo ni dung cua cc luoi chu nht bi tr giao din v cc diu khin khc gn nhu l truc tip tu m PHP cua ban. ExtPHP Theo nh pht trin dung du du n, ban c th dng PHP-Ext d vit ra m JavaScript xm nhp v khng xm nhp (intrusive and non-intrusive), dng nhu ban c th s lm voi Ext JS. Loi dim l o ch thit k ny cho php b bin tp PHP cua ban pht hin duoc cc tn phuong thuc chua c, c li chnh ta hoc su dung sai chu khng phai l buc ban g li m JavaScript trong trnh duyt Web. tuong dng sau ExtPHP l d tao ra cc lop PHP m c th duoc goi tu cc kich ban lnh PHP. Khi ban khoi tao mt di tuong, m JavaScript tuong ung duoc luu lai trong mt b dm trong. Nu ban goi ra mt phuong thuc cua di tuong, m ny s duoc thm vo b dm trong (internal buffer). Khi ban d sn sng hon tt m JavaScript, ban chi cn goi ra mt phuong thuc don le, jsrender(). Ban cung c th b sung truc tip m JavaScript vo du ra cua ban bng cch goi ra cc hm ExtPHP cho php ban thm vo du ra. Tm tt Bi vit ny cung cp cho ban mt kin thuc nhp mn v vit m mt truoc dua trn Ajax v sau d chi cho ban bit cch kt hop m mt truoc voi kich ban lnh PHP mt sau. N cung dn ban dn mt s khung cng tc sn c moi nht cho php ban tao ra cc ung dung web dua trn Ajax nhanh hon nhiu so voi ban tu vit ra ton b m. Bng cch kt hop mt hoc hai khung cng tc y voi Ajax v PHP, ban c th vit ra cc ung dung web truc quan hp dn v phong ph. Thuc t ban c th tu hoi lm sao m ban lai tung vit duoc cc ung dung web cua ban khng c cc cng ngh moi y.
Ti nguyn Hc tp JavaScript.com l mt ngun ti nguyn lon d tm hiu v m JavaScript v cc cng ngh sp toi lin quan dn n.
Trang web PHP Ajax Frameworks cung cp mt danh muc cc khung cng tc d pht trin cc ung dung PHP/Ajax m ban khng phai tu mnh m ho ton b cc JavaScript Ajax. Nhiu trong s cc khung cng tc thuc hin cc cng vic nn bn duoi cho ban, cho php ban tp trung vo cc mu cht chnh cua ung dung cua ban, chu khng phai l co so ha tng d c duoc cc giao tip Ajax khch/chu.
"Ajax & PHP without using the XmlHttpRequest Object" (PHPit, 11.2005) c mt s tuong thuc su khn ngoan, n m ta cch m ban c th vit m PHP cho php ban su dung cc nim Ajax m khng phai phu thuc vo di tuong XMLHttpRequest. Tuy nhin, n bi han ch chi dng funcf1on ma1n{} { } }
Page 9 of 11 Xy dung cc trang web dua trn Ajax bng PHP phuong thuc GET, nn nu ban cn gui dn my chu hon 500 byte, ban c th phai tm cng cu khc d lm vic d.
D tm moi thu v Ajax, Ajaxian nht dinh l noi cn phai dn. Dy l mt trang web phai xem. Moi thu dnh dng dn Ajax du o trn trang Web ny. D n phai lm bng PHP hay mt ngn ngu khc th ban vn s tm thy n o dy.
Mo rng cc k nng web cua ban bng cc bi vit v huong dn chuyn mn ho v cc cng ngh web trong Web development zone cua developerWorks.
Dng hnh voi Technical events and webcasts cua developerWorks.
Ly san phm v cng ngh Nu JavaScript d duoc nap bng mt API hoc Khung cng tc d duoc nng cp, n s l Prototype. Khi JavaScript API kt thc, Prototype s ni tip. Khung cng tc ny d tro thnh tiu chun duoc cc nh pht trin khung cng tc JavaScript khc su dung nhu l khung cng tc co so, trn d xy dung cc khung cng tc moi. Trn thuc t, script.aculo.us duoc xy dung trn khung cng tc ny.
Thu vin script.aculo.us cung cp mt s diu khin UI dep nht m ti tung thy. Ti d ginh thng loi mt cch d dng tu nhiu khch hng hanh phc nho thu vin nho tin dung ny.
JSON l mt dinh dang trao di du liu hang nhe m con nguoi c th doc duoc v my tnh d dng phn tch c php duoc. Khng chi dnh cho m JavaScript m thi, JSON d duoc thm vo ngn ngu PHP o phin ban 5.2.0.
Ext JS l mt khung cng tc Javascript voi cc thnh phn Ajax v UI. N lm vic cng voi Prototype, Yahoo UI, v jQuery. C sn ca giy php m ngun mo v giy php thuong mai cho du n ny.
Dojo cung cp Ajax, cc su kin, dng gi, vic truy vn dua trn CSS, v nhiu thu nua trong mt gi nho gon.
jQuery l mt thu vin JavaScript don gian ho cch ban di ngang qua cc ti liu HTML, xu l su kin, v thuc hin hoat hnh. N cung c mt s tnh nng Ajax cho php ban d dng thm Ajax vo HTML mt truoc cua ban d goi cc kich ban lnh pha my chu o mt sau.
PHP AJAX l mt khung cng tc tao ra ton b m JavaScript cn thit ngay trong khi chay thi hnh sau khi tp tin PHP duoc goi ra. Ban vit mt lop PHP m mo rng mt lop PHP Ajax v vit d cc phuong thuc d xu l cc loi goi mt truoc tai mt sau.
PHP-Ext PHP-Ext l mt thu vin widget m ngun mo dua trn Ext JS, cung cp cho cc nh pht trin kha nng vit cc kich ban lnh PHP thay cho m JavaScript.
ExtPHP ExtPHP l mt thu vin m ban c th su dung d vit JavaScript xm nhp v khng xm nhp, dng nhu cch ban c th lm voi Ext JS.
Thao lun Xem qua developerWorks blogs v tham gia vo cng dng developerWorks.
i nt v tc gi Ken Ramirez l nguoi sng lp Tp don Cng ngh Axsys Technology Group, tp don ny cung cp dich vu chu chua Web (hosting) v pht trin trang web tuy chinh thng qua Axsys Page 10 of 11 Xy dung cc trang web dua trn Ajax bng PHP Java v tt ca cc nhn hiu v biu tuong dua trn Java l cc thuong hiu cua Sun Microsystems, Inc. tai Hoa Ky, cc quc gia khc, hoc ca hai. Microsoft, Windows, Windows NT, v biu tuong Windows l cc thuong hiu cua Tp don Microsoft tai Hoa Ky, cc quc gia khc, hoc ca hai. Cc tn cng ty, san phm, hoc dich vu khc c th l tn nhn hiu hng ha hoc dich vu cua cc hng khc. Cc tn cng ty, san phm, hoc dich vu khc c th l cc tn nhn hiu hng ha hoc dich vu cua cc hng khc. Tn cua cng ty, san phm hay dich vu c th l nhn hiu dng k hoc nhn hiu dich vu cua nguoi khc.
Hosting. Ken cung lm vic voi cc chu doanh nghip nho, nhung nguoi dang tm kim cc giai php trang web khng dt tin qua trang web http://www.BuildMySiteTonight.com cua ng. Cng ty ng chuyn v PHP, MySql, Linux, XHTML/CSS, Adobe Flash, cc giai php thuong mai din tu, v cc giai php quan l ni dung. Page 11 of 11 Xy dung cc trang web dua trn Ajax bng PHP