Upgrade to Pro — share decks privately, control downloads, hide ads and more …

擬人化から始めるPHPerのためのオブジェクト指向超入門

 擬人化から始めるPHPerのためのオブジェクト指向超入門

#phpcon2014

Kenichiro Kishida

October 11, 2014
Tweet

More Decks by Kenichiro Kishida

Other Decks in Programming

Transcript

  1. 超 擬人化 ͔Β࢝ΊΔ 1)1$POGFSFODF!TJ[VIJLP 1)1FSͷͨΊͷ ΦϒδΣΫτࢦ޲ɹɹೖ໳

  2. ,FOJDIJSP,JTIJEB 5PLZP +"1"/ TJ[VIJLP!HNBJMDPN !TJ[VIJLP IUUQTHJUIVCDPNTJ[VIJLP IUUQCMPHPQFOUPLZPKQ +1POMZ *XPSLPO&JXB4ZTUFN.BOBHFNFOU*OD 

    最新刊 祝::増33刷�
  3. Getty Images ϋϩʔΩςΟ͸ ʮωίͷٖਓԽʯ CZαϯϦΦ

  4. /05ΦϒδΣΫτࢦ޲ϓϩάϥϛϯά

  5. ϑϨʔϜϫʔΫ ࢖͍ͬͯ·͔͢ 

  6. . PEFM 7 JFX $ POUSPMMFS

  7. ϑϨʔϜϫʔΫ͸ιϑτ΢ΣΞͷ໰୊Λղ ܾ͢ΔҰൠతͳઃܭͰ͢ɻ Α͘ੜ͡Δ໰୊Λղܾ͢Δํ๏ʹ͍ͭͯͷ ΞΠσΞͰ͋Δύλʔϯͱ͸ҟͳΓɺϑϨ ʔϜϫʔΫ͸ɺ։ൃऀ͕ݸผͷঢ়گʹ ߹͏Α͏ௐ੔·ͨ͸֦ுͰ͖ΔΫϥε ϥΠϒϥϦΛఏڙ͠·͢ɻ ΦϒδΣΫτσβΠϯ P.031 ΑΓ

  8. 2003೥ݪஶɺ2007೥೔ຊޠ༁ൃച

  9. ೥ͷ8FCϑϨʔϜϫʔΫ w.PKBWJ 1)1 w4USVUT +BWB w;PQF 1ZUIPO w3BJMT &UIOBͳͲ͸೥ʹ஀ੜ

  10. ιϑτ΢ΣΞΦϒδΣΫτ͸ɺࡉ๔ͱಉ༷ ʹɺ͓ޓ͍ͷதͰԿ͕ߦΘΕ͍ͯΔ͔ ஌Γ·ͤΜ͕ɺෳࡶͳλεΫΛ࣮ߦ͢ ΔͨΊʹίϛϡχέʔγϣϯΛऔΓɺ ڠௐ͠·͢ɻ ΦϒδΣΫτσβΠϯ P.001 ΑΓ

  11. ҰํɺҰຕؠͷιϑτ΢ΣΞ͸ɺແ਺ͷࣃंΛ ࣋ͭػց࢓ֻ͚ͷ࣌ܭͷΑ͏ͳ΋ͷͰ ͢ɻͦΕͧΕͷࣃं͸ɺ஌ੑΛ࣋ͨͣɺଞͷྡ઀ ͢Δࣃंͱ͚ͩؔ܎Λ࣋ͬͯػೳ͠·͢ɻ͜ͷΑ ͏ͳઃܭʹ͸ɺͲ͏͠Α͏΋ͳ͍ܽ఺ ͕͋Γ·͢ɻʮࣃंͷ࣌ܭΛ࡞͍ͬͯΔͱɺ͍ ͔ͭ͸͔ͳΓͷϨϕϧͷෳࡶ͞ʹୡ͠ɺࣗΒഁ ৕͢ΔͰ͠ΐ͏ʯ(Alan kay) ΦϒδΣΫτσβΠϯ

    P.001 ΑΓ
  12. None
  13. ΦϒδΣΫτࢦ޲ Ͱ΍ΒͶ͹ʂ

  14. Ͱ΋ ΦϒδΣΫτࢦ޲ ೉ͦ͠͏

  15. http://d.hatena.ne.jp/nowokay/20140718

  16. 800ϖʔδ, 7,344ԁ 960ϖʔδ, 7,776ԁ

  17. ೖ໳Ͱ͸ͳ͍ͷͰ஫ҙʂ

  18. None
  19. ຊॻ͸ΦϒδΣΫτࢦ޲ઃܭͷೖ໳ʗ࣮ફ ॻͰ͢ɻ ΦϒδΣΫτࢦ޲ϓϩάϥϛϯάͷܦ ݧΛ໰ΘͣɺΦϒδΣΫτࢦ޲ઃܭͷ جຊΛ͔ͬ͠Γͱཧղ͢Δ͜ͱ͕Ͱ͖ ·͢ɻ  ΦϒδΣΫτσβΠϯ ʮຊॻʹ͍ͭͯʯ ΑΓ

  20. ΦϒδΣΫτࢦ޲ΞϓϦέʔγϣϯΛߏங ͢Δͱ͍͏͜ͱ͸ɺద੾ͳιϑτ΢ΣΞ ػߏΛߟ͑ग़͢͜ͱΛҙຯ͠·͢ɻ ࢲͨͪ͸ɺ࣮ੈքʹଘࡏ͠ͳ͍Φϒδ ΣΫτΛߟ͑ग़͢͜ͱͰɺݱ࣮ੈքͷ৘ ใɺϓϩηεɺ૬ޓ࡞༻ɺؔ܎ɺͦͯ͠Τ ϥʔͰ͑͞΋දݱ͠·͢ɻ ΦϒδΣΫτσβΠϯ P.002 ΑΓ

  21. ੜ໋ͷͳ͍΋ͷʹରͯ͠ɺੜ໋ͱ஌ੑΛ ༩͑·͢ɻ ཧղ͕ࠔ೉ͳݱ࣮ੈքͷΦϒδΣΫτΛɺ ΑΓγϯϓϧͰ؅ཧ͠΍͍͢ιϑτ΢ ΣΞΦϒδΣΫτ΁෼ׂ͠·͢ɻ ࢲͨͪ͸ɺ৽͍͠ΦϒδΣΫτΛߟ͑ͩ͠ ͍ͯΔͷͰ͢ɻ ΦϒδΣΫτσβΠϯ P.002 ΑΓ

  22. ٖਓԽ͸ɺਓؒҎ֎ͷ΋ͷΛਓ෺ͱͯ͠ɺ ਓؒͷੑ࣭ɾಛ௃Λ༩͑Δൺᄻͷํ๏Ͱ͋ Δɻແੜ෺ͷٖਓԽ͸ɺ͸͖ͬΓͱ ௚઀తʹແੜ෺ʹੜ໋Λ༩͍͑ͯΔɻ ٖਓԽ͞ΕͨੈքͰ͸ɺ਌͠ΈΛ࣋ͨ ͤɺର৅ʹؔ৺ΛߴΊɺର࿩ܗࣜΛ༻ ͍Δ͜ͱͰ໌֬ੑΛߴΊɺ٬؍ੑΛग़ ͢ޮՌ͕ظ଴Ͱ͖Δɻ WikiPedia ΑΓ

  23. ΦϒδΣΫτࢦ޲ΛٖਓԽͰ࢝ΊΔ w࣮ੈքʹͳ͍ଘࡏΛߟ͑ग़͢ wੜ໋ͱ஌ੑΛ༩͑Δ wର࿩ܗࣜΛ༻͍Δ

  24. ͑͢ʹΌΜ [email protected]

  25. ͠Μ;͒ʹΌΜ

  26. ٖਓԽͳΒͰ͖ͦ͏ʂ

  27. ੑ֨ ϩʔϧ ΛܾΊΔ w৘ใอ࣋໾ wߏ଄Խ໾ wαʔϏεఏڙ໾ w੍ޚ໾ wௐ੔໾ wΠϯλʔϑΣʔε໾

  28. ॻ͖ग़ͯ͠ΈΔ w໊લɿద੾ͳ໊લΛ෇͚Α͏ w໾ׂɿͭͷதʹ౰ͯ͸ΊΔ wಛ௃ ଐੑ ɿͨ͘͞Μ͸ͳ͍͸ͣ wͰ͖Δ͜ͱ ੹຿ ɿ໾ׂʹԊ͍ͬͯΔ͔ ֬ೝ͢Δ

  29. ໊લॏཁ ചΕͳ͍Ωϟϥ͸େ఍໊લ͕ඍົ...

  30. ৘ใอ࣋໾ wϞσϧ΍ΤϯςΟςΟ w৘ใΛ஌ͬͯΔ wอ࣋͢Δσʔλ͔Βܭࢉ͢Δͷ΋0,

  31. ߏ଄Խ໾ wͬ͘͟ΓάϧʔϓԽ͢Δ wϦετɺ഑ྻɺϋογϡͱ͔Ωϡʔͱ ͔ wΤϯςΟςΟͷؔ࿈ͱ͔Λදݱ͢Δͱ ͖΋

  32. αʔϏεఏڙ໾ wಛघͳॲཧΛఏڙ͢Δ w8PSLFS 8SJUFSΈ͍ͨʹɺFSʹͳͬͯ ͍ΔΫϥεΛݟ͚ͭͨΒɺͦͷࢠ͸େ ఍αʔϏεఏڙ໾ w4FSWJDF1SPWJEFS

  33. ੍ޚ໾ wଞͷෳ਺ͷΦϒδΣΫτ͔Βঢ়گΛฉ ͖ग़ͯ͠൑அ͢Δ w൑அͨ݁͠ՌΛࢦࣔ͢Δ w$PPSEJOBUPS

  34. ௐ੔໾ w͋ΔΦϒδΣΫτ͔Β৘ใΛड͚औͬ ͯɺଞͷΦϒδΣΫτʹ౉͢ w$POUSPMMFS

  35. ΠϯλʔϑΣʔε໾ wϢʔβʔΠϯλʔϑΣʔεͱ͔

  36. ΦϨ ࣾ௕ "͞Μ ൿॻ #͘Μ ࣄ຿ $͞Μ ޿ใ ࠓ೔xxxͳࣄ͕ ͋ͬͯ͞ʔ

    ࣾ௕ޠ࿥ʹه࿥ ͓͍ͯͯ͠ SNSͰ޿Ίͯ ͓͍ͯ
  37. ΦϨ ࣾ௕ "͞Μ ൿॻ #͘Μ ࣄ຿ %͞Μ ޿ใ ࣗঀ఻ ग़ͤͳ͍͔ͳ͊

    ࣾ௕ޠ࿥ ·ͱΊͯఏग़ͯ͠ ϥΠλʔ͞Μ ͱௐ੔ΑΖ͘͠
  38. ΦϨ ࣾ௕ ৽ਓ܅ ίϐʔ܎ ͜ͽ͓ ෳࣸ܎ ιʔλ࿠ ιʔτ܎ ίϐʔ10෦ ιʔτͯ͠

    ϗονΩεࢭΊ ΑΖ͘͠ 10෦͓ئ͍͠·͢ ͓ئ͍͠·͢ ࢭΊ٢ ϗνΩε܎ ͓ئ͍͠·͢
  39. ੑ͕ܾ֨·Δͱ w੹຿͸ࣗͣͱܾ·ͬͯ͘Δ wΦϒδΣΫτͷ૬ޓ࡞༻ʢίϥϘϨʔ γϣϯʣ͕໌֬ʹͳΔ wਤʹॻ͘ͷ͕ॏཁͰ͢

  40. http://astah.change-vision.com/ja/

  41. 1)1ʹ͢Δʹ͸ wΫϥεϕʔεͷΦϒδΣΫτࢦ޲ݴޠ 㱠ϓϩτλΠϓϕʔε wΫϥε໊ʹ໾ׂ wϓϩύςΟʹಛ௃ wϝιουʹͰ͖Δ͜ͱ

  42. #͘Μࣄ຿ class ࣄ຿ extends Model { public $name; public function

    ޠ࿥Λه࿥͢Δ($contents) { return $this->ޠ࿥->save(....); } public function ޠ࿥Λ͢΂ͯऔಘ͢Δ() { return $this->ޠ࿥->find(‘all’); } }
  43. ΦϒδΣΫτͱΠϯελϯε wΦϒδΣΫτ͸#͘Μʹ࣮ମ w#͘Μ͸ࣄ຿ͷΠϯελϯεͰ͋Δʹ࣮ ྫ w#͘Μ͸৘ใอ࣋໾ͷΠϯελϯεͰ͋ Δ࣮ྫ $b = new ࣄ຿;

    $b instanceof ࣄ຿ === true $b instanceof Model === true
  44. ·ͱΊ wΦϒδΣΫτࢦ޲ͷઃܭ͕Θ͔Δ ͱ࣮૷ΛཧղͰ͖ΔΑ͏ʹͳΔ w·ٖͣਓԽͯ͠ਤΛॻ͘͜ͱ͔Β ࢝ΊΔͱֶͼ΍͍͢ wΦϒδΣΫτσβΠϯΛೖ໳ॻͱ ͯ͠ಡΜͰΈͯཉ͍͠

  45. ࣭໰

  46. ͋Γ͕ͱ͏͍͟͝·ͨ͠ 5IBOLZPV https://joind.in/talk/view/12043