Xây dựng các trang web dựa trên Ajax bằng PHP

Tài liệu Xây dựng các trang web dựa trên Ajax bằng PHP: Xây dng các trang web da trên Ajax bng PHP              Mc : Trung bình Ken Ramirez, Sáng lp viên, Axsys Technology Group 07 08 2009 Tìm hiu quá trình vit các ng dng JavaScript + XML không ng b (Ajax) b ng cách s dng mã JavaScript™ nguyên sinh và PHP. Bài vit này gi i thi u mt s khung công tác và các giao di n chng trình ng dng (API) khác nhau, gim b t c s lng mã bn cn vit  hoàn tt mt ng dng web da trên Ajax. PHP ã có mt t nhiu nm nay. Thng nó c s dng nh mt ngôn ng kch bn l nh phía máy ch  phát trin các ng dng da trên web khá nhanh chóng và t c các kt qu t t. Thc t mt s d án da trên web ph bin nht nh PHP-Nuke, osCommerce, và Joomla tt c u c phát trin b ng PHP và ngày nay tip tc l n mnh. Ajax cng ã có mt c mt thi gian, nhng mãi gn ây m i có nhiu trang web c phát trin b ng cách s dng các thc hà...

pdf11 trang | Chia sẻ: Khủng Long | Lượt xem: 817 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Xây dựng các trang web dựa trên Ajax bằng PHP, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Xây dng các trang web da trên Ajax bng PHP              Mc : Trung bình Ken Ramirez, Sáng lp viên, Axsys Technology Group 07 08 2009 Tìm hiu quá trình vit các ng dng JavaScript + XML không ng b (Ajax) b ng cách s dng mã JavaScript™ nguyên sinh và PHP. Bài vit này gi i thi u mt s khung công tác và các giao di n chng trình ng dng (API) khác nhau, gim b t c s lng mã bn cn vit  hoàn tt mt ng dng web da trên Ajax. PHP ã có mt t nhiu nm nay. Thng nó c s dng nh mt ngôn ng kch bn l nh phía máy ch  phát trin các ng dng da trên web khá nhanh chóng và t c các kt qu t t. Thc t mt s d án da trên web ph bin nht nh PHP-Nuke, osCommerce, và Joomla tt c u c phát trin b ng PHP và ngày nay tip tc l n mnh. Ajax cng ã có mt c mt thi gian, nhng mãi gn ây m i có nhiu trang web c phát trin b ng cách s dng các thc hành Ajax. Ajax cung cp công ngh cho phép mt trang web hay ng dng da trên web giao tip v i máy ch mà không cn phi làm m i li toàn b trang. V c bn, các c tính không ng b cung cp phng ti n  trình duy t ca máy khách g i yêu cu hoc g i các phng thc mà c thc hi n bên phía máy ch. Kt qu t máy ch sau ó có th c x lý bên phía khách b ng cách s dng mã JavaScript, và bt k! kt qu u ra nào cng có th c trn vào khung nhìn HTML mt tr c (front-end) hi n ti mà không cn làm m i li trang. Khi s dng Ajax, bn không tht s s dng mt ngôn ng lp trình m i. Trên thc t, tt c nhng gì bn làm là tn dng các công ngh hi n có và a vào s dng chúng t t hn. Khi kt hp v i nhau, PHP và Ajax cung cp mt nn tng mnh  to ra các trang web hoc các ng dng da trên web v i các tính nng vng mnh. Bài này xem xét mt s cách s dng PHP và Ajax và kho sát cách bn có th tn dng chúng trong các ng dng da trên web ca bn nh th nào. Tr c khi bn tin hành, mt s hiu bit vng vàng v HTML và mã JavaScript là rt quan tr ng. Bn cng cn quen bit PHP nh là mt ngôn ng kch bn l nh, mc dù hu ht ngôn ng kch bn l nh nào khác cng có th thay th c nó. Giao tip vi máy ch Chìa khóa cho vi c giao tip khách/ch trong Ajax là s dng  i tng XMLHttpRequest ca JavaScript. " i tng này c hu ht các trình duy t h# tr, gm Windows® Internet Explorer 5.0 và các bn cao hn, Safari 1.2, Mozilla Firefox, Opera 8 và các bn cao hn, và Netscape 7. " hiu c s khác nhau gia các giao tip khách/ch truyn th ng và giao tip khách/ch da trên Ajax, tôi s$ s dng mt ví d. Theo truyn th ng,  trình duy t khách g i ni dung n máy ch  x lý hoc lu tr trong mt c s% d li u, bn thng s dng mt hành ng POST  g i ni dung t các trng u vào thu thp c % phía khách t i máy ch. Máy ch x lý ni dung này b ng cách s dng PHP (hoc bt k! ngôn ng kch bn l nh nào mà bn la ch n),  c hoc lu d li u b ng cách s dng mt c s% d li u, và tr li các kt qu c nhúng bên trong mã HTML. Sau ó HTML s$ c trình duy t x lý và mt trang m i c biu hi n ra cho ngi s dng cu i cùng xem. Hình 1 mô t rõ kch bn này. Hình 1. Quy trình truyn thng   trình d liu và nhn kt qu Page 1 of 11Xây dng các trang web da trên Ajax b ng PHP Khi s dng Ajax, cng cùng quy trình này nhng cn ít thi gian hn % mt tr c. Ý t%ng là làm cho ngi s dng cm thy nh là h không bao gi phi i mt trang cp nht. Thc t là b ng cách s dng Ajax, bn có th phát trin toàn b ng dng web b ng cách s dng ch& mt trang HTML n l', mc dù tôi ht sc khuyên bn ng làm nh vy. Theo cách truyn th ng, nu bn mu n g i mt biu m(u cho máy ch, bn thit lp mt hành ng (action) ca biu m(u ó và ch& nh rõ kiu hành ng là POST. V i Ajax, bn không thc s  trình mt biu m(u trc tip cho máy ch. Thay vào ó, bn g i mt hàm JavaScript, nó kim tra li và thu thp các giá tr t biu m(u ca bn và sau ó g i d li u n mt hàm % phía máy ch b ng cách s dng XMLHttpRequest. Kt qu c g i tr li ti mt im cho trình khách, sau ó trình khách x lý kt qu và cp nht các phn ca trang cn c cp nht. Trong trng hp này, trang ó không c làm m i li toàn b. Do ó, cn ít thi gian hn  x lý mã HTML. Kt qu là hi u nng hot ng t t hn. Hình 2 minh ho quy trình này hi khác i nh th nào khi s dng Ajax  to ra mt cp nht cho trang web ch không phi là làm m i toàn b trang. Hình 2. Quy trình Ajax   trình và nhn kt qu Page 2 of 11Xây dng các trang web da trên Ajax b ng PHP Hãy quan sát các b c cn thit  thc hi n giao tip v i máy ch, mt thc t t mã JavaScript ca bn. Tr c tiên, bn nh ngh)a biu m(u s$ trông nh th nào, nh trong Li t kê 1. Lit kê 1. Biu m u HTML Biu m(u này sinh ra kt qu u ra nh Hình 3. Hình 3. u ra c a biu m u HTML Biu m(u này không làm iu gì tht s có ích, nhng hy v ng nó giúp bn b*t u thy nhng ni mà bn có th tích hp Ajax vào mã ca mình. Hãy chú ý r ng s ki n onClick c xác nh trên nút nhn. S ki n này c thit lp  g i mt hàm JavaScript có tên là ajaxFunction. "ây là ni m i iu tr% nên thú v trong th gi i Ajax. Trong phm vi phng thc này, bn thc hi n mt vài b c, chúng c gii thích trong phn này: 1. To mt cá th ca  i tng XMLHttpRequest cn có. 2. M% mt kt n i n dch v phía máy ch mà bn mu n g i. 3. Báo cho Ajax bit s$ g i phng thc nào khi mã phía máy ch thi hành xong và tr li kt qu. 4. G i yêu cu.                          ! "# " $%&' (  ) *       ' '   '  Page 3 of 11Xây dng các trang web da trên Ajax b ng PHP 5. Phn hi không ng b. To mt cá th Bn cn to ra hàm ajaxFunction và cung cp mt bin  lu gi  i tng XMLHttpRequest khi nó c to ra. Nh v i bt k! phng thc JavaScript nào, bn nh ngh)a phng thc ó nh trong Li t kê 2. Lit kê 2. nh ngha c a ajaxFunction Hu ht các trình duy t hi n i v n ã h# tr  i tng XMLHttpRequest. Tuy nhiên, các trình duy t c hn nh Internet Explorer 6 òi h+i bn phi to ra mt  i tng ActiveX  thc hi n vi c g i không ng b n máy ch. "iu này gây ra mt vn  vì bn phi xác nh mã ca bn ang chy trong trình duy t nào và to ra úng  i tng  làm c vi c. Mã JavaScript cung cp mt gii pháp b ng s h# tr ca nó  i v i kh i chc nng th /b*t (try/catch). Bn ch& cn th to ra các  i tng theo th t u tiên và  kh i try/catch x lý phn còn li, tng t nh mã a ra trong Li t kê 3. Lit kê 3. To i tng XMLHttpRequest thích hp Nh bn ã thy, tt c các trình duy t hi n i c vit  h# tr vi c to nguyên thy  i tng XMLHttpRequest. Có mt tranh lun v vi c Microsoft® có tht s h# tr  i tng XMLHttpRequest nguyên thy không hay ch& n gin là bao gói mt trin khai thc hi n ActiveX b ng cách s dng mt mt ngoài. M mt kt ni n máy ch Bên trong chính hàm JavaScript y, sau khi to ra  i tng XMLHttpRequest, bn tip tc b ng vi c m% mt kt n i n kch bn l nh phía máy ch b ng cách s dng phng thc open ca  i tng XMLHttpRequest. Phng thc này tip nhn hai tham s b*t buc và ba tham s tùy ch n, nh mô t trong Bng 1. TB ng 1. Các tham s c a phng thc open "  " $%+  , & - - - .  "  " $%+  , &    + '' /*   0  1-2 3-45/( - , 67, 89 $%& . " ":$% + ''*   0  ;-   + , " 62" $ <-67,))%& . " ":$% +   + , " 62" $ "   -67,))%& . " ":$% +     & . . . .  Page 4 of 11Xây dng các trang web da trên Ajax b ng PHP " i v i ví d này, ch& cn thc hi n mt thao tác GET yêu cu mt kch bn l nh trên máy ch tr v ngày gi (time) hi n ti. Bn cng báo cho phng thc open bit r ng bn mu n thc hi n không ng b thao tác này, nh trong Li t kê 4. Lit kê 4. Gi phng thc open Báo cho Ajax bit g i ph ng th c nào khi mã phía máy ch thi hành xong Khi bn g i máy ch b ng cách s dng Ajax, kt qu phn hi s$ g i li thông qua hàm callback. Bn có th to ra và t tên mt hàm hoc to ra mt hàm không tên, nh tôi ã thc hi n. Trong trng hp nào thì bn cng cn báo cho  i tng XMLHttpRequest bit hàm callback nào c s dng b ng cách thit t thuc tính onReadyStateChange ca nó, nh trong Li t kê 5. Lit kê 5. Thit t thuc tính onReadyStateChange Nh bn ã thy, phng thc này kim tra readyState sau khi nó c g i, tìm kim mt giá tr kh d) là 4. Có nm trng thái kh d), chúng c mô t trong Bng 2. B ng 2. Các giá tr kh d i vi readyState Tham s Mô t method Ch& rõ phng thc HTTP mà bn mu n s dng. Các giá tr kh d) gm GET, POST, PUT hoc HEAD. url Ch& rõ ng d(n tuy t  i hoc tng  i n d li u XML hay dch v web XML phía máy ch mà bn mu n g i ra. " ngn chn các tn công qua kch bn l nh xuyên trang (cross-site scripting attacks), các yêu cu Ajax ch& c thc hi n cho URL v i cùng giao thc, máy ch, và cng nh trang cha yêu cu Ajax. Mc dù mt s trình duy t có th cho phép các URL tu! ý, bn không nên da vào h# tr này t tt c các trình duy t. Nu bn cn giao tip xuyên trang (cross-site communication), nó phi c x lý % phía máy ch b ng cách s dng cURL hoc mt s phng ti n khác. async True nu bn mu n g i yêu cu n máy ch theo kiu không ng b. Cng cn phi gán tham s này là true nu bn ã bt (set) thuc tính onreadystatechange, iu mà tôi s$ tho lun ngay sau ây. Gán tr tham s này là false s$ ngn chn hu ht các trình duy t tip nhn thêm bt c u vào nào t ngi s dng. Nu ng dng ca bn là linh hot   tip tc nhn d li u u vào trong khi hot ng mt sau (back-end operation) hoàn tt, t t nht là thc hi n hành ng ca bn không ng b. user Ch& rõ mt tên ngi s dng c s dng vào mc ích xác thc ngi s dng tr c khi thc thi kch bn l nh. Vi c này ch& cn thit khi kch bn yêu cu xác thc ngi s dng. password Ch& rõ mt mt kh,u c s dng vào mc ích xác thc ngi s dng tr c khi thc thi kch bn l nh. Vi c này ch& cn thit khi kch bn yêu cu xác thc ngi s dng. "  " $%+  - - - , -$=0)/ -:/ %&  .  "  " $%+  - - - , -   ":" $%+  $, - (  >% +   ''=  :   :   ?    -  " -  - -, -   ) &  , & . . .  Page 5 of 11Xây dng các trang web da trên Ajax b ng PHP Mã này v c bn nói r ng, “Nu trng thái nói r ng thao tác này ã hoàn tt, thì tip tc.” Khi trng thái là ã hoàn tt, b c tip theo là cp nht phn ca trang cn phi cp nht b ng phn hi t máy ch. "iu này c thc hi n b ng cách ly giá tr ã c gán cho thuc tính responseText, giá tr này c in b%i phn hi t máy ch. Cu i cùng, bn ngng  i tng XMLHttpRequest li b ng cách gán cho nó giá tr null. Gi yêu cu Ch& cn mt b c na mà ajaxFunction phi thc hi n, và ó là g i yêu cu cho máy ch. "iu này c thc hi n v i phng thc send ca  i tng XMLHttpRequest. Nu yêu cu là không ng b, phng thc tr v ngay lp tc sau khi g i yêu cu. Nu nó là ng b, phng thc này ch& tr v sau khi nhn c phn hi, iu ó có ngh)a là chc nng Ajax b khóa li n khi phng thc ó tr v. Phng thc này có mt tham s mà bn có th gán giá tr null hoc mt s các giá tr khác. Thí d bn có th truyn cho nó mt  i tng DOMDocument, mt InputStream, hoc mt String. Giá tr c s dng nh là phn thân ca yêu cu HTTP nu phng thc yêu cu là POST. Hàm ajaxFunction hoàn ch&nh s$ gi ng nh Li t kê 6. Lit kê 6. Hàm ajaxFunction hoàn chnh Phn hi không ng b Do s phát trin Ajax có bn cht là không ng b, bn phi c,n thn v i s tng tranh và hãy quan tâm n chu#i x lý ca bn. "iu này c bi t quan tr ng khi bn thc hi n nhiu li g i Ajax và nhn c các phn hi theo mt trình t không bit tr c. Quy t*c ngón tay cái là hãy ch i iu bt ng. Có th có nhng ln mà phn hi t máy ch cn quay tr% li máy khách nh là mt tài li u XML. Trong nhng trng hp nh th, bn có th s dng thuc tính responseXML ca  i tng XMLHttpRequest Giá tr Mô t 0 Không c kh%i to 1 "ang np 2 Np xong 3 Tng tác 4 Hoàn tt "  " $%+  , &   + '' /*   0  1-2 3-45/(  , 67, 89 $%& ." ":$%+ ''*   0  ;-  + , " 62" $ <-67,))%& ." ":$%+  + , " 62" $ "   -67,))%& ." ":$%+  $@        A6B%&     & . . . , -$=0)/ -:/ %& , -   ":" $%+  $, - (  >%+ ''=  :   :   ?    - " -  - -, -   ) & , & . . , - $%& .  Page 6 of 11Xây dng các trang web da trên Ajax b ng PHP  ly ra d li u. Li t kê 7 th hi n kch bn l nh PHP s$ nh th nào trong trng hp này. Lit kê 7. Mã PHP tr v mt tài liu XML Nh bn ã bit, mã to ra mt tài li u XML, biu hi n b ng dòng '<?xml version="1.0" encoding="ISO-8859-1"?>' tr c khi g i phn còn li ca phn hi. Mã phía khách phi c vit sao cho nó tr c tiên s$ rút ra tài li u XML t thuc tính responseXML phân tích d li u b ng cách s dng DOM (Mô hình " i tng Tài li u), và sau ó hin th d li u trên trang b ng cách s a i các trng thích hp ã có s-n trên trang ó. Li t kê 8 th hi n các thao tác này. Lit kê 8. Mã JavaScript x lý mt tài liu XML M rng Ajax bng các khung công tác JavaScript Bn h.n ã nhn thy r ng ch.ng có gì c bi t cn thit t mã PHP phía máy ch  thc hi n các chc nng Ajax % mt tr c. Trên thc t, bn có th thc s vit kch bn l nh phía máy ch b ng bt k! ngôn ng nào mà máy ch web ca bn có th g i thc hi n và tr li kt qu ca nó cho trình khách. Tuy nhiên, có mt s sáng kin m% rng Ajax  làm các vi c khác. Thí d, có mt s th vi n cung cp nhiu iu khin (controls) mt tr c hp d(n trc quan hn nhiu  bin  c m ca Web 2.0 thành hi n thc. Hu ht các th vi n này c vit b ng mã JavaScript và cung cp các c tính và API làm gim b t s lng mã JavaScript bn cn vit % mt tr c. Cng ph bin trong hu ht các th vi n này là vi c s dng Ký pháp " i tng JavaScript (JavaScript Object Notation - JSON); ó là mt nh dng trao i d li u g n nh/ c s dng trên toàn b Internet hi n nay. Sau ây là mt s th vi n mà bn có th thy b ích:  Prototype  Script.aculo.us  Dojo  jQuery Prototype Prototype cung cp mã JavaScript da theo l p (class-driven)  phát trin các ng dng web ng. Ngoài ra, khung công tác Prototype cung cp mt  i tng Ajax toàn cc, làm cho d0 vit các hàm Ajax ca bn hn, và thm chí là d0 x lý hn. S dng khung công tác này  phát trin Ajax ca bn còn mang li li C:  D    8" ( $DE=0)F?9 ?G&  ":?C H-4" *(2I33JKIHC?- ?" ?&  : $D  9E ":E $D   %%+  ":#-D F?#?G-'#& ":-D F??G-'& ": -D F? ?G-' & ": "  -D F? "  ?G-  ' "  & . ":?'" ?& C  "   !:$%+  $, - (  >%+ L", -   67& " - 0 M*$#%-  ,)7 L"- 0 M)N$#%F4G-": N F4G-O& " - 0 M*$%-  ,)7 L"- 0 M)N$%F4G-": N F4G-O& " - 0 M*$ %-  ,)7 L"- 0 M)N$ %F4G-": N F4G-O& " - 0 M*$ "  %-  ,)7 L"- 0 M)N$ "  %F4G-": N F4G-O& . .  Page 7 of 11Xây dng các trang web da trên Ajax b ng PHP ích b sung là bn không còn phi x lý các vn  xuyên nhiu trình duy t (cross-browser) na. V i mt ln g i, bn có th cung cp URL ích, phng thc HTTP (POST hoc GET), phng thc g i li phn hi (response callback method), và nhiu th khác. Script.aculo.us Mt khung công tác JavaScript ph bin khác có mt s iu khin (controls) giao di n ngi s dng /p m*t là Script.aculo.us. Khung công tác này cung cp mt iu khin thc hi n các chc nng Ajax cho bn. Thm chí có mt iu khin trng vn bn t ng hoàn tt gi ng nh kiu Google mà bn có th s dng  ly vn bn t ngi s dng ca bn. Các chc nng Ajax cho phép bn d0 dàng xác nh c mc tiêu truy vn bên phía máy ch. Phn hi kt qu c s dng  hin th mt tp hp các xâu ký t mà máy ch tr v cho ngi s dng cu i cùng nh là các la ch n kh d). Dojo B công c Dojo là mt khung công tác Javascript và Ajax mã ngun m%, ni ting vì t c  ca nó và kích th c ch& 25KB. Trong v ài Ajax, Dojo cung cp các API ca chính nó  g i và nhn các cuc g i không ng b n và t mt máy ch. Không có gì thay i % phía máy ch. Mã PHP ca bn tip tc phn hi gi ng nh nó luôn luôn làm  i v i bt k! li g i Ajax nào. jQuery jQuery thc hi n mt công vi c tuy t vi là n gin hoá c ch  tìm kim các phn t trong các trang ca bn và b sung các chc nng m i, c tính m i, và nh dng ngay trong khi ang chy thi hành (on the fly at runtime). Nó cng gm c mt s c tính Ajax c bi t cho phép bn cung cp các tng tác Ajax trên các trang Web ca bn. M rng PHP  h tr Ajax Bây gi bn ã hiu nhng iu c bn, tôi s$ cho bn thy hi n nay PHP ang c m% rng nh th nào  h# tr Ajax. T ph i cnh PHP, vi c m% rng Ajax không ch& là vi c vit li mã truy cp XMLHttpRequest (XHR). Bây gi bn ã hiu nhng iu c bn, tôi s$ cho bn thy hi n nay PHP ang c m% rng nh th nào  h# tr Ajax. T ph i cnh PHP, vi c m% rng Ajax không ch& là vi c vit li mã truy cp. Các dch v mt tr c cn c tính n bao gm thi hành dch v mt sau, truy cp mt c s% d li u, và thc hi n các dch v mng mt sau t mt tr c. Mt s khung công tác mà tôi ã thy trên th trng cho phép các nhà phát trin vit mã ca h trong ngôn ng mt sau (back-end language), và khung công tác này to ra mã JavaScript mt tr c. V c bn, bn báo cho nó bit các phng thc mt sau nào phi c g i, và khung công tác này vit ra cu trúc ngoài mt tr c (front-end façades) b ng mã JavaScript; mã này có th cp phát mt  i tng XHR, g i yêu cu, nhn phn hi, và sau ó chuyn nó t i mt hàm tùy theo la ch n ca bn hoc thm chí gán u ra trc tip t i mt phn t HTML mà bn la ch n. Ý t%ng là  gim b t s lng mã JavaScript mà bn phi vit. V i suy ngh) y, tt c các phn t mà bn mu n cung cp các hàm cho chúng có th c ghi è và buc n i v i các phng thc mt sau; các phng thc mt sau này phn ng li khi xy ra mt s ki n mt tr c ã nh. Sau ây là các khung công tác áng c nghiên cu:  PHP AJAX  PHP-Ext  ExtPHP PHP AJAX PHP AJAX cho phép bn m% rng mt l p PHP b ng l p ca riêng bn. Sau ó bn ch& cn g i ra mt phng thc kh%i to khi tp tin PHP ca bn c g i ra, và nó to ra mã XHR mt tr c cn thit cho bn. Sau ó, s ki n mt tr c phi g i mt hàm JavaScript v i tên gi ng nh tên l p PHP ca bn. Mã này trông gi ng nh Li t kê 9. Lit kê 9. M rng PHP AJAX bng lp PHP c a riêng bn " E  :+ "   $%+ . "  $%+ . Page 8 of 11Xây dng các trang web da trên Ajax b ng PHP Các phng thc ghi è c g i ra  thc hi n các nhi m v khác nhau trong vòng i ca Ajax. Thí d, nu mt hành ng c thi hành % mt tr c, phng thc main() ca l p % mt sau c g i ra  x lý hành ng này. Bt c d li u u vào nào thu thp % mt tr c u c chuyn t i phng thc input(). PHP-Ext PHP-Ext cung cp mt th vi n c vit  h# tr cho c PHP 4 và PHP 5, cung cp nhiu iu khin giao di n ngi s dng % mt tr c. C s% n m d i ca các iu khin này thc s c Ext JS cung cp, nhng cái làm cho khung công tác này là duy nht là % ch# bn không phi tp trung vào vi c cung cp JavaScript  thao tác các iu khin mt tr c. Thay vào ó, toàn b tng tác v i các iu khin c thc hi n b ng cách s dng các dch v mt tr c c vit b ng PHP. Mã PHP c g i ra khi cn thit, tùy thuc vào các s ki n mà bn ã ch& nh rõ r ng bn mu n x lý s ki n y. Khi xut hi n mt s ki n ã ng ký, phng thc PHP phù hp c g i ra trong mã ca bn. V i cách này, bn có th in vào ni dung ca các ô l i ch nht bài trí giao di n và các iu khin khác gn nh là trc tip t mã PHP ca bn. ExtPHP Theo nhà phát trin ng u d án, bn có th dùng PHP-Ext  vit ra mã JavaScript xâm nhp và không xâm nhp (intrusive and non-intrusive), úng nh bn có th s$ làm v i Ext JS. Li im là % ch# thit k này cho phép b biên tp PHP ca bn phát hi n c các tên phng thc cha có, có l#i chính t hoc s dng sai ch không phi là buc bn g1 l#i mã JavaScript trong trình duy t Web. Ý t%ng  ng sau ExtPHP là  to ra các l p PHP mà có th c g i t các kch bn l nh PHP. Khi bn kh%i to mt  i tng, mã JavaScript tng ng c lu li trong mt b  m trong. Nu bn g i ra mt phng thc ca  i tng, mã này s$ c thêm vào b  m trong (internal buffer). Khi bn ã s-n sàng hoàn tt mã JavaScript, bn ch& cn g i ra mt phng thc n l', jsrender(). Bn cng có th b sung trc tip mã JavaScript vào u ra ca bn b ng cách g i ra các hàm ExtPHP cho phép bn thêm vào u ra. Tóm tt Bài vit này cung cp cho bn mt kin thc nhp môn v vit mã mt tr c da trên Ajax và sau ó ch& cho bn bit cách kt hp mã mt tr c v i kch bn l nh PHP mt sau. Nó cng d(n bn n mt s khung công tác s-n có m i nht cho phép bn to ra các ng dng web da trên Ajax nhanh hn nhiu so v i bn t vit ra toàn b mã. B ng cách kt hp mt hoc hai khung công tác y v i Ajax và PHP, bn có th vit ra các ng dng web trc quan hp d(n và phong phú. Thc t bn có th t h+i làm sao mà bn li tng vit c các ng dng web ca bn không có các công ngh m i y. Tài nguyên Hc tp  JavaScript.com là mt ngun tài nguyên l n  tìm hiu v mã JavaScript và các công ngh s*p t i liên quan n nó.  Trang web PHP Ajax Frameworks cung cp mt danh mc các khung công tác  phát trin các ng dng PHP/Ajax mà bn không phi t mình mã hoá toàn b các JavaScript Ajax. Nhiu trong s các khung công tác thc hi n các công vi c nn bên d i cho bn, cho phép bn tp trung vào các mu ch t chính ca ng dng ca bn, ch không phi là c s% h tng  có c các giao tip Ajax khách/ch.  "Ajax & PHP without using the XmlHttpRequest Object" (PHPit, 11.2005) có mt s ý t%ng thc s khôn ngoan, nó mô t cách mà bn có th vit mã PHP cho phép bn s dng các ý ni m Ajax mà không phi ph thuc vào  i tng XMLHttpRequest. Tuy nhiên, nó b hn ch ch& dùng "  $%+ . .  Page 9 of 11Xây dng các trang web da trên Ajax b ng PHP phng thc GET, nên nu bn cn g i n máy ch hn 500 byte, bn có th phi tìm công c khác  làm vi c ó.  " tìm m i th v Ajax, Ajaxian nht nh là ni cn phi n. "ây là mt trang web phi xem. M i th dính dáng n Ajax u % trên trang Web này. Dù nó phi làm b ng PHP hay mt ngôn ng khác thì bn v(n s$ tìm thy nó % ây.  M% rng các k2 nng web ca bn b ng các bài vit và h ng d(n chuyên môn hoá v các công ngh web trong Web development zone ca developerWorks.  "ng hành v i Technical events and webcasts ca developerWorks. Ly s n phm và công ngh  Nu JavaScript ã c np b ng mt API hoc Khung công tác ã c nâng cp, nó s$ là Prototype. Khi JavaScript API kt thúc, Prototype s$ n i tip. Khung công tác này ã tr% thành tiêu chu,n c các nhà phát trin khung công tác JavaScript khác s dng nh là khung công tác c s%, trên ó xây dng các khung công tác m i. Trên thc t, script.aculo.us c xây dng trên khung công tác này.  Th vi n script.aculo.us cung cp mt s iu khin UI /p nht mà tôi tng thy. Tôi ã giành th*ng li mt cách d0 dàng t nhiu khách hàng hnh phúc nh th vi n nh+ ti n dng này.  JSON là mt nh dng trao i d li u hng nh/ mà con ngi có th  c c và máy tính d0 dàng phân tích cú pháp c. Không ch& dành cho mã JavaScript mà thôi, JSON ã c thêm vào ngôn ng PHP % phiên bn 5.2.0.  Ext JS là mt khung công tác Javascript v i các thành phn Ajax và UI. Nó làm vi c cùng v i Prototype, Yahoo UI, và jQuery. Có s-n c giy phép mã ngun m% và giy phép thng mi cho d án này.  Dojo cung cp Ajax, các s ki n, óng gói, vi c truy vn da trên CSS, và nhiu th na trong mt gói nh+ g n.  jQuery là mt th vi n JavaScript n gin hoá cách bn i ngang qua các tài li u HTML, x lý s ki n, và thc hi n hot hình. Nó cng có mt s tính nng Ajax cho phép bn d0 dàng thêm Ajax vào HTML mt tr c ca bn  g i các kch bn l nh phía máy ch % mt sau.  PHP AJAX là mt khung công tác to ra toàn b mã JavaScript cn thit ngay trong khi chy thi hành sau khi tp tin PHP c g i ra. Bn vit mt l p PHP mà m% rng mt l p PHP Ajax và vit è các phng thc  x lý các li g i mt tr c ti mt sau.  PHP-Ext PHP-Ext là mt th vi n widget mã ngun m% da trên Ext JS, cung cp cho các nhà phát trin kh nng vit các kch bn l nh PHP thay cho mã JavaScript.  ExtPHP ExtPHP là mt th vi n mà bn có th s dng  vit JavaScript xâm nhp và không xâm nhp, úng nh cách bn có th làm v i Ext JS. Th o lun  Xem qua developerWorks blogs và tham gia vào cng ng developerWorks. ôi nét v tác gi Ken Ramirez là ngi sáng lp Tp oàn Công ngh Axsys Technology Group, tp oàn này cung cp dch v ch cha Web (hosting) và phát trin trang web tu! ch&nh thông qua Axsys Page 10 of 11Xây dng các trang web da trên Ajax b ng PHP Java và tt c các nhãn hi u và biu tng da trên Java là các thng hi u ca Sun Microsystems, Inc. ti Hoa K!, các qu c gia khác, hoc c hai. Microsoft, Windows, Windows NT, và biu tng Windows là các thng hi u ca Tp oàn Microsoft ti Hoa K!, các qu c gia khác, hoc c hai. Các tên công ty, sn ph,m, hoc dch v khác có th là tên nhãn hi u hàng hóa hoc dch v ca các hãng khác. Các tên công ty, sn ph,m, hoc dch v khác có th là các tên nhãn hi u hàng hóa hoc dch v ca các hãng khác. Tên ca công ty, sn ph,m hay dch v có th là nhãn hi u ng ký hoc nhãn hi u dch v ca ngi khác. Hosting. Ken cng làm vi c v i các ch doanh nghi p nh+, nhng ngi ang tìm kim các gii pháp trang web không *t tin qua trang web ca ông. Công ty ông chuyên v PHP, MySql, Linux, XHTML/CSS, Adobe Flash, các gii pháp thng mi i n t , và các gii pháp qun lý ni dung. Page 11 of 11Xây dng các trang web da trên Ajax b ng PHP

Các file đính kèm theo tài liệu này:

  • pdftailieu.pdf
Tài liệu liên quan