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

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

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

PHPカンファレンス関西2015

Katsuhiro Ogawa

May 30, 2015
Tweet

More Decks by Katsuhiro Ogawa

Other Decks in Technology

Transcript

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

    View Slide

  2. খ઒༤େ
    0("8",BUTVIJSP

    !pWFTUS
    ΫϩίεˠϠϑʔ
    ೔ຊ4ZNGPOZϢʔβʔձ
    ஶॻ

    ύʔϑΣΫτPHP

    ޮ཰తͳWebΞϓϦέʔγϣϯͷ

    ࡞Γํ
    2

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. (JU)VCͱ͍͏࠷ڧͷίϛϡχςΟ
    w 1VMM3FRVFTUʹΑΔίϛϡχέʔγϣϯ
    w 044ք۾ͦͷ΋ͷͷ׆ੑԽ
    7

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. ඪ४Խ΋ઌಋ
    w ओཁͳϑϨʔϜϫʔΫͷ։ൃऀΛूΊͯ

    1)14UBOEBSET8PSLJOH(SPVQΛ࡞ͬͨ
    w ݱࡏ͸1)1'*(ͱͯ͠143ΛࡦఆΛߦ͏
    w ΦʔτϩʔσΟϯάϧʔϧ
    w ඪ४ίʔσΟϯάن໿
    w ڞ௨ΠϯλʔϑΣΠεఆٛ
    11

    View Slide

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

    View Slide

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

    ίϯϙʔωϯτΛ૊Έ߹ΘͤΒΕΔ࣌୅ʹ
    13

    View Slide

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

    ۀքͷࢿ࢈͕૿͍͑ͯ͘
    w ۀքશମͷ੒௕ʹͭͳ͕Δ
    14

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. ઃܭೳྗΛΈ͕͘
    w ΦϒδΣΫτࢦ޲ઃܭͷཧղΛਂΊΔ
    w ༷ʑͳύλʔϯ΍ઃܭݪଇΛ਎ʹ͚ͭΔ
    w 1PG&"" 40-*%ݪଇ FMTF
    w ͦΕΒΛֶͿ͜ͱ͕ϑϨʔϜϫʔΫͷཧղͷ
    ॿ͚ʹ΋ͭͳ͕Δ
    21

    View Slide

  22. Ϗδωεͷ՝୊ʹͲ͏޲͖߹͏͔
    w ͨͱ͑͹%%%ΛֶͿ
    22

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. ϑϨʔϜϫʔΫ΋
    w ϑϨʔϜϫʔΫͷߏ੒ཁૉΛ෼ׂ͠ɺ

    ࢿ࢈ͱͯ͠ڞ༗Ͱ͖Δܗʹ
    w ΞʔΩςΫνϟͳͲຊ࣭తͳ෦෼Ͱҧ͍Λ

    ੜΈग़͢͜ͱʹ஫ྗ
    w %4-ͳͲ໨తʹΑΓಛԽͨ͠ܗΛ
    30

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide