Symfony - フレームワークの先へ

Symfony - フレームワークの先へ

PHPカンファレンス関西2015

Ff822949384025796e11fd7f681df060?s=128

Katsuhiro OGAWA

May 30, 2015
Tweet

Transcript

  1. 4ZNGPOZ ϑϨʔϜϫʔΫͷઌ΁ খ઒༤େ 1 1)1ΧϯϑΝϨϯεؔ੢

  2. খ઒༤େ 0("8",BUTVIJSP  !pWFTUS ΫϩίεˠϠϑʔ ೔ຊ4ZNGPOZϢʔβʔձ ஶॻ ύʔϑΣΫτPHP ޮ཰తͳWebΞϓϦέʔγϣϯͷ ࡞Γํ

    2
  3.  4ZNGPOZ͕ங͍͖ͯͨੈք  ΤϯδχΞͷੜଘઓུ  ϑϨʔϜϫʔΫͷઌ΁ 3 "(&/%"

  4. 4ZNGPOZ͕ங͍͖ͯͨੈք 4

  5. ࠓ೔࿩͍ͨ͜͠ͱͦͷ w ࠷ۙ1)1ք۾΋੔͖ͬͯ·ͨ͠Ͷ w ͜͜਺೥ͰͲΜͳมԽ͕͔͋ͬͨ;Γ͔͑Δ w ࡢࠓͷɺ͋Δ͍͸ະདྷͷϑϨʔϜϫʔΫͷܗ 5

  6. ·ͣ͸1)1ͷਐԽ͕͋ͬͨ w 1%0 41-ͳͲඪ४ϥΠϒϥϦͷॆ࣮ w Φʔτϩʔυ w ໊લۭؒ w τϨΠτ

    w ແ໊ؔ਺ w γϯλοΫεͷॆ࣮ 6
  7. (JU)VCͱ͍͏࠷ڧͷίϛϡχςΟ w 1VMM3FRVFTUʹΑΔίϛϡχέʔγϣϯ w 044ք۾ͦͷ΋ͷͷ׆ੑԽ 7

  8. ࣍ੈ୅Խ͕ਐΉϑϨʔϜϫʔΫ w 4ZNGPOZ w -BSBWFM w $BLF1)1 w "VSB w

    #&"34VOEBZ w FUD 8
  9. ੾Γ։͍͖ͯͨ4ZNGPOZ w 4ZNGPOZίϯϙʔωϯτͱ༷ͯ͠ʑͳ෦඼Λ ࠶ར༻ɾ֦ுՄೳͳܗͰఏڙ w %*ίϯςφͷීٴ w όϯυϧγεςϜ 9

  10. ༂ಈ͢Δ4ZNGPOZίϛολʔͨͪ w 5XJH w .POPMPH w "TTFUJD w %PDUSJOF"OOPUBUJPOT w

    4JMFY 10
  11. ඪ४Խ΋ઌಋ w ओཁͳϑϨʔϜϫʔΫͷ։ൃऀΛूΊͯ
 1)14UBOEBSET8PSLJOH(SPVQΛ࡞ͬͨ w ݱࡏ͸1)1'*(ͱͯ͠143ΛࡦఆΛߦ͏ w ΦʔτϩʔσΟϯάϧʔϧ w ඪ४ίʔσΟϯάن໿

    w ڞ௨ΠϯλʔϑΣΠεఆٛ 11
  12. 1&"3ʹมΘΔ࣍ੈ୅ύοέʔδ؅ཧ w $PNQPTFS1BDLBHJTUͷొ৔ w ґଘύοέʔδ؅ཧ͕༰қʹ w ୭Ͱ΋ؾܰʹύοέʔδΛొ࿥Ͱ͖Δ࣌୅ʹ w 0QFOQFBSͱ͸ͳΜͩͬͨͷ͔ 12

  13. ίϯϙʔωϯτࢦ޲ͳ࣌୅ w -BSBWFMΛࢧ͑Δ4ZNGPOZίϯϙʔωϯτ w ܰྔͰΫϦʔϯͳ"VSBͳͲ΋ొ৔ w ҰຕؠͷϑϨʔϜϫʔΫͰ͸ͳ͘ɺࣗ༝ʹ
 ίϯϙʔωϯτΛ૊Έ߹ΘͤΒΕΔ࣌୅ʹ 13

  14. ۀքͷࢿ࢈Λ૿΍͍ͯ͘͠ w ྑ࣭ͳίϯϙʔωϯτ͕૿͍͑ͯ͘͜ͱͰ
 ۀքͷࢿ࢈͕૿͍͑ͯ͘ w ۀքશମͷ੒௕ʹͭͳ͕Δ 14

  15. ߴ౓Խ͢ΔϑϨʔϜϫʔΫ w ૄ݁߹ͳ࢓૊ΈΛٻΊΒΕΔ w ֦ுੑɺ࠶ར༻ੑΛࢧ͑ΔΦϒδΣΫτࢦ޲ ͷ༷ʑͳςΫχοΫ͕ٻΊΒΕΔ w ΦϨΦϨ࣮૷Ͱ͸ͳ͘ύλʔϯʹ 15

  16. ΦϒδΣΫτࢦ޲ͷॏཁੑ w ܧঝ͚ͩ࢖ͬͯΕ͹͍͍࣌୅͡Όͳ͍ w ʮεΫʔΦϒδΣΫτࢦ޲ʯͰݕࡧʂ w ΦϒδΣΫτࢦ޲ͷΑ͏ͳجૅྗͷ޲্͕ඞཁ 16

  17. ΤϯδχΞͷੜଘઓུ 17

  18. ࠓ೔࿩͍ͨ͜͠ͱͦͷ w ϑϨʔϜϫʔΫ͸ચ࿅͞Ε͍͍ͯͬͯ·͕͢ w զʑΤϯδχΞ͸੒௕͍ͯ͠ΔͷͩΖ͏͔ w ΤϯδχΞ͕Ͳ͏͋Δ΂͖͔ 18

  19. ͦ΋ͦ΋ΤϯδχΞͷ࢓ࣄͬͯ w ϑϨʔϜϫʔΫΛ࢖͍͜ͳ͢͜ͱͰ͸ͳ͍ w γεςϜΛ࡞ͬͯϢʔβʔʹՁ஋Λఏڙͨ͠Γ ੈͷதΛΑΓΑ͘͢Δ͜ͱ͕໨త w Ͱ͢ΑͶʁ w ݴޠ΋ϑϨʔϜϫʔΫ΋ಓ۩ʹ͗͢ͳ͍

    19
  20. ϑϨʔϜϫʔΫͷઌ΁ w ϑϨʔϜϫʔΫ͸ϏδωεϩδοΫ·Ͱ໘౗ Έͯ͘Εͳ͍ w ϏδωεϩδοΫ෦෼ͦ͜ΤϯδχΞͷղܾ ͢΂͖ຊ࣭తͳ՝୊ 20

  21. ઃܭೳྗΛΈ͕͘ w ΦϒδΣΫτࢦ޲ઃܭͷཧղΛਂΊΔ w ༷ʑͳύλʔϯ΍ઃܭݪଇΛ਎ʹ͚ͭΔ w 1PG&"" 40-*%ݪଇ FMTF w

    ͦΕΒΛֶͿ͜ͱ͕ϑϨʔϜϫʔΫͷཧղͷ ॿ͚ʹ΋ͭͳ͕Δ 21
  22. Ϗδωεͷ՝୊ʹͲ͏޲͖߹͏͔ w ͨͱ͑͹%%%ΛֶͿ 22

  23. ઃܭྗΛੜ͔ͤΔϑϨʔϜϫʔΫͷબఆΛ w ϑϨʔϜϫʔΫ͕ϏδωεϩδοΫͷ࣮૷ͷ ๦͛ʹͳͬͯ͸ຊ຤స౗ w ༷ʑͳઃܭΛڐ༰͢ΔϑϨʔϜϫʔΫΛબͿ w ͦ͏ͩͶɺ4ZNGPOZͩͶ 23

  24. ཁ݅ʹಛԽͨ͠ϑϨʔϜϫʔΫΛ࡞Δ w ͞Βʹޮ཰తʹ։ൃΛߦ͑ΔΑ͏ʹɺཁ݅ʹ Ԡͨ͡ϑϨʔϜϫʔΫΛ࡞ΓɺطଘͷϑϨʔ ϜϫʔΫͱ૊Έ߹Θͤͯରॲ͢Δ 24

  25. ࿦ཧతʹՁ஋Λ൑அ͢Δ w ݴޠʹͤΑϑϨʔϜϫʔΫʹͤΑ޷͖ݏ͍Ͱ ൑அͤͣɺཁ݅΍؀ڥʹΑͬͯద੾ͳ΋ͷΛ બఆ͍ͯ͘͠ 25

  26. पล؀ڥ΋ɺ͋Δ͍͸ݴޠ΋ w ߴػೳͳ*%&Λ࢖͍ޮ཰తͳ։ൃΛ w /0.03&फڭઓ૪ w ໨తʹԠ༷͡ʑͳݴޠΛ࢖͍͜ͳͤΔΑ͏ʹ w 1)1ͷ͍͍ͱ͜ΖΛվΊͯߟ͑ͯΈΔ 26

  27. νʔϜϏϧσΟϯά΋େ੾ w νʔϜશମͷ։ൃྗΛҭ͍ͯͯ͘ w ίʔυϨϏϡʔΛऔΓೖΕΔͱ͔ w ίϛϡχέʔγϣϯΛͱΖ͏ 27

  28. ϢʔβʔʹՁ஋Λఏڙ͢Δ͜ͱ w ιʔείʔυͷΫΦϦςΟͱγεςϜͷ࢖͍ উख͸·ͨผͷ࿩ w Ͳ͏͢Ε͹Ϣʔβʔʹͱͬͯ࢖͍қ͍΋ͷ͕ Ͱ͖͕͋Δͷ͔ w اըతͳࢹ఺΋ڧԽ͍ͯ͘͠ 28

  29. ϑϨʔϜϫʔΫͷઌ΁ 29

  30. ϑϨʔϜϫʔΫ΋ w ϑϨʔϜϫʔΫͷߏ੒ཁૉΛ෼ׂ͠ɺ
 ࢿ࢈ͱͯ͠ڞ༗Ͱ͖Δܗʹ w ΞʔΩςΫνϟͳͲຊ࣭తͳ෦෼Ͱҧ͍Λ
 ੜΈग़͢͜ͱʹ஫ྗ w %4-ͳͲ໨తʹΑΓಛԽͨ͠ܗΛ 30

  31. ΤϯδχΞ΋ w ϑϨʔϜϫʔΫ͸ಓ۩ʹ͗͢ͳ͍ w ΋ͪΖΜಓ۩Λ࢖͍͜ͳ͢͜ͱ΋ඞཁ w ΑΓຊ࣭తͳ໰୊ʹ஫ྗ͍ͯ͘͠ w ϏδωεͷཁٻʹԠ͑ΔͨΊઃܭೳྗͳͲ ༷ʑͳ΋ͷΛຏ͍͍͔ͯͳ͚Ε͹ͳΒͳ͍

    31
  32. ࣌୅ʹྲྀ͞Εͳ͍஌ࣝ΍ٕज़Λ w ϑϨʔϜϫʔΫͷྲྀߦΓഇΓʹࠨӈ͞Εͳ͍ ֬ݻͨΔجૅΛ਎ʹ͚ͭΔ w ΦϒδΣΫτࢦ޲ઃܭɺ%%% w ͭΑ͍νʔϜ࡞Γ 32

  33. ϑϨʔϜϫʔΫ͚ͩͰ͸ ੜΈग़ͤͳ͍Ձ஋Λ Ϣʔβʔʹఏڙ͠Α͏ 33

  34. ϓϩϑΣογϣφϧͳ ΤϯδχΞΛ໨ࢦͯ͠ 34

  35. ϑϨʔϜϫʔΫͷઌ΁ 35

  36. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ খ઒༤େ 36