PHPughh: Apigility

1.524 Aufrufe

Veröffentlicht am

Heute klicken wir unsere API einfach mal zusammen...

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

PHPughh: Apigility

  1. 1. AAPPIIGGIILLIITTYY HHeeuuttee kklliicckkeenn wwiirr uunnsseerree AAPPII eeiinnffaacchh mmaall zzuussaammmmeenn......  1 / 42 HHeeuuttee MMiitt QQuuiizz!!
  2. 2. ÜÜbbeerr RRaallff EEggggeerrtt 2 / 42
  3. 3. [B00] PPrroolloogg 3 / 42
  4. 4. [B01] 4 / 42 NNeeuuee AAPPII iinn zzwweeii SSttuunnddeenn??
  5. 5. [B02] 5 / 42 NNiimmmm ddoocchh AAppiiggiilliittyy!!
  6. 6. [B03] IInn aa NNuuttsshheellll 6 / 42
  7. 7. RReessttffuull WWeebb SSeerrvviicceess 7 / 42 CLIENT Web Browser PHP Javascript RUBY PYTHON REST SERVER /api/user/123 /api/user /api/user /api/user/123 /api/user/123 USER DOMAIN getUserEntity() getUserCollection() addUserEntity() updateUserEntity() deleteUserEntity() GET Request JSON Response GET Request JSON Response POST Request JSON Response PUT Request JSON Response DELETE Request JSON Response Integer UserEntity void UserCollection Array Boolean Integer, Array Boolean Integer Boolean
  8. 8. RRPPCC WWeebb SSeerrvviicceess 8 / 42 Local CLIENT javascript RPC Client JSON Method:getUser Params:id USER DOMAIN getUserEntity() GET Request JSON Result Integer UserEntity RPC Server /json-rpc.php Remote Call JSON Result javascript JSON Method:addUser Params:name addUserEntity() POST Request JSON Result Array Boolean /json-rpc.php Remote Call JSON Result javascript XML Method:getUser Params:id getUserEntity() GET Request XML Result Integer UserEntity /xml-rpc.php Remote Call XML Result javascript XML Method:addUser Params:name addUserEntity() POST Request XML Result Array Boolean /xml-rpc.php Remote Call XML Result
  9. 9. VVeerrssiioonniieerruunngg ddeeffaauulltt VVeerrssiioonn ppeerr UURRLL VVeerrssiioonn 11 ppeerr UURRLL VVeerrssiioonn 22 ppeerr UURRLL ddeeffaauulltt VVeerrssiioonn ppeerr CCoonntteenntt NNeeggoottiiaattiioonn VVeerrssiioonn 11 ppeerr CCoonntteenntt NNeeggoottiiaattiioonn VVeerrssiioonn 22 ppeerr CCoonntteenntt NNeeggoottiiaattiioonn 9 / 42
  10. 10. JJSSOONN // HHAALL // PPrroobblleemm 10 / 42
  11. 11. WWEEIITTEERREE FFEEAATTUURREESS DDaatteennbbaannkk--bbaassiieerrtt CCooddee--bbaassiieerrtt aauutthheennttiiffiizziieerruunngg AAPPII DDookkuummeennttaattiioonn DDaatteennvvaalliiddiieerruunngg DDeeppllooyymmeenntt 11 / 42 [B04] [[BB0055]] [B06] [B07] [[BB0088]] [[BB0099]]
  12. 12. MMoodduullaarriissiieerruunngg ZZff--aappiiggiilliittyy ZZff--aappiiggiilliittyy--aaddmmiinn ZZff--aappiiggiilliittyy--ddooccuummeennttaattiioonn ZZff--aappiiggiilliittyy--ddooccuummeennttaattiioonn--sswwaaggggeerr ZZff--aappiiggiilliittyy--pprroovviiddeerr ZZff--aappiiggiilliittyy--WWeellccoommee ZZff--aappii--pprroobblleemm ZZff--ccoonnffiigguurraattiioonn ZZff--ccoonntteenntt--nneeggoottiiaattiioonn ZZff--ccoonntteenntt--vvaalliiddaattiioonn ZZff--ddeeppllooyy ZZff--ddeevveellooppmmeenntt--mmooddee ZZff--hhaall ZZff--mmvvcc--aauutthh ZZff--ooaauutthh22 ZZff--rreesstt ZZff--RRPPCC ZZff--vveerrssiioonniinngg 12 / 42
  13. 13. IInnssttaallllaattiioonn Curl und Composer $ curl -s https://getcomposer.org/installer | php -- $ php composer.phar create-project -sdev zfcampus/zf-apigility-skeleton /path/to/install $ cd /path/to/install Git und Composer $ git clone https://github.com/zfcampus/zf-apigility-skeleton.git /path/to/install $ cd /path/to/install $ php composer.phar install ZIP und Composer $ wget https://github.com/zfcampus/zf-apigility-skeleton/archive/master.zip $ unzip -d /path/to/install master.zip $ cd /path/to/install $ php composer.phar install Entwicklungsmodus einschalten und Rechte setzen $ php public/index.php development enable $ sudo chmod 777 -R config/ $ sudo chmod 777 -R data/ $ sudo chmod 777 -R module/ 13 / 42
  14. 14. SSttaarrttsseeiittee 14 / 42
  15. 15. [B04] DDBB--bbaassiieerrtteerr RREESSTT--SSeerrvviiccee 15 / 42
  16. 16. DDaatteennbbaannkkmmooddeellll 16 / 42
  17. 17. DDaatteennbbaannkkaaddaapptteerr SScchhrriittttee 11 bbiiss 66 17 / 42
  18. 18. RReesstt SSeerrvviiccee,, DDBB--bbaassiieerrtt SScchhrriittttee 11 bbiiss 66 18 / 42
  19. 19. RReesstt SSeerrvviiccee,, DDBB--bbaassiieerrtt 19 / 42 SScchhrriittttee 77 bbiiss 1122
  20. 20. RReesstt SSeerrvviiccee,, DDBB--bbaassiieerrtt 20 / 42 SScchhrriittttee 1133 bbiiss 1188
  21. 21. RREESSTT SSeerrvviiccee UUsseerr LLiissttee 21 / 42
  22. 22. RREESSTT SSeerrvviiccee UUsseerr EEnnttiittyy 22 / 42
  23. 23. [B10] PPOOSSTT PPUUTT DDEELLEETTEE 23 / 42
  24. 24. RReesstt SSeerrvviiccee PPoosstt II 24 / 42 SScchhrriittttee 11 bbiiss 33
  25. 25. RReesstt SSeerrvviiccee PPoosstt IIII 25 / 42 SScchhrriittttee 44 bbiiss 66
  26. 26. RReesstt SSeerrvviiccee PPuutt II 26 / 42 SScchhrriittttee 11 bbiiss 33
  27. 27. RReesstt SSeerrvviiccee PPuutt IIII 27 / 42 SScchhrriitttt 44
  28. 28. RReesstt SSeerrvviiccee DDeelleettee 28 / 42 SScchhrriittttee 11 bbiiss 33
  29. 29. [B06] AAUUTTHHEENNTTIIFFII-- ZZIIEERRUUNNGG 29 / 42
  30. 30. AAuutthheennttiiffiizziieerruunngg II HTTP BASIC HTTP DIGEST OAUTH2 HTpasswd $ htpasswd -c data/htpasswd apigility New password: ********* Re-type new password: ********* Adding password for user apigility $ 30 / 42
  31. 31. AAuutthheennttiiffiizziieerruunngg IIII 31 / 42 SScchhrriittttee 11 bbiiss 66
  32. 32. AAuutthheennttiiffiizziieerruunngg IIIIII 32 / 42 SScchhrriitttt 77
  33. 33. AAuutthheennttiiffiizziieerruunngg IIVV 33 / 42 SScchhrriitttt 88
  34. 34. [B05] CCooddee--bbaassiieerrtteerr RREESSTT SSEERRVVIICCEE?? 34 / 42
  35. 35. [B11] 35 / 42 BBeeiimm NNääcchhsstteenn MMaall......
  36. 36. [B00] EEPPIILLOOGG 36 / 42
  37. 37. [B12] 37 / 42 UUnndd wwaannnn kkoommmmtt DDaass QQuuiizz??
  38. 38. [B02] 38 / 42 FFrraaggee 11:: AAuuss wwiiee vviieelleenn eeiinnzzeellnneenn MMoodduulleenn wwuurrddee AAppiiggiilliittyy aauuffggeebbaauutt??
  39. 39. [B02] 39 / 42 FFrraaggee 22:: WWeellcchhee AArrtteenn vvoonn WWeebbsseerrvviicceess wweerrddeenn uunntteerrssttüüttzztt??
  40. 40. [B02] 40 / 42 FFrraaggee 33:: WWeellcchhee HHTTTTPP MMeetthhooddeenn hhaabbeenn wwiirr iimmpplleemmeennttiieerrtt??
  41. 41. AAPPIIGGIILLIITTYY KKllaapppptt ffüürr eeiinnffaacchhee AAPPIIss,, aannssoonnsstteenn iisstt HHaannddaarrbbeeiitt eerrffoorrddeerrlliicchh......  Repository: https://github.com/RalfEggert/phpughh-apigility 41 / 42
  42. 42. BBiillddnnaacchhwweeiiss [B00] Fotos von Ralf Eggert [B01] Still here https://www.flickr.com/photos/thenovys/3784261365 von Abe Novy - CC-BY https://creativecommons.org/licenses/by/2.0/ [B02] Young student https://www.flickr.com/photos/audiolucistore/14159712431/ von www.audio-luci-store.it - CC-BY https://creativecommons.org/licenses/by/2.0/ [B03] Acorns https://www.flickr.com/photos/dno1967b/5431273344 von Daniel Oines - CC-BY https://creativecommons.org/licenses/by/2.0/ [B04] Fixing the database https://www.flickr.com/photos/dahlstroms/4140461901 von Håkan Dahlström - CC-BY https://creativecommons.org/licenses/by/2.0/ [B05] Monaco 14pt https://www.flickr.com/photos/polarity/3138680190 von Robert Agthe - CC-BY https://creativecommons.org/licenses/by/2.0/ [B06] RSA Securid Token - Credit Card Style https://www.flickr.com/photos/purpleslog/265657780 von Purple Slog - CC-BY https://creativecommons.org/licenses/by/2.0/ [B07] Shelf of Used Books https://www.flickr.com/photos/thedarkthing/5363586197 von William Ross - CC-BY https://creativecommons.org/licenses/by/2.0/ [B08] Ticket validator at Nice train station https://www.flickr.com/photos/traveleden/3797157077 von Simon - CC-BY https://creativecommons.org/licenses/by/2.0/ [B09] Test Lab - Supermicro Storage https://www.flickr.com/photos/jemimus/8533890844 von Robert - CC-BY https://creativecommons.org/licenses/by/2.0/ [B10] We are all fan of laptops https://www.flickr.com/photos/scottvanderchijs/4493248747 von Scott & Elaine van der Chijs - CC-BY https://creativecommons.org/licenses/by/2.0/ [B11] Laugh https://www.flickr.com/photos/wounded/4105835342 von Simon Claassen - CC-BY https://creativecommons.org/licenses/by/2.0/ [B12] Surprise https://www.flickr.com/photos/photographybycolby/11927931295 von Colby Stopa - CC-BY https://creativecommons.org/licenses/by/2.0/ Alle weiteren Screenshots wurden von Ralf Eggert erstellt. 42 / 42

×