Slide 1

Slide 1 text

઒ౡܛ(.01&1"#0JOD 1)1#-5 -BSBWFM͔ΒֶͿ ϧʔςΟϯάॲཧͷ࣮૷

Slide 2

Slide 2 text

ΤϯδχΞ ઒ౡܛ!CBSJF ຊࣾࣄۀ෦+6(&.νʔϜ IUUQOB[POPIJUPKVHFNKQ

Slide 3

Slide 3 text

8FCϑϨʔϜϫʔΫͷϧʔςΟϯάॲཧͬͯ ͲΜͳ࣮૷ʹͳͬͯΔ͔͝ଘ஌Ͱ͔͢ʁ

Slide 4

Slide 4 text

3FRVFTU 8FCΞϓϦέʔγϣϯ $POUSPMMFS ʁ ίί

Slide 5

Slide 5 text

۩ମతʹͲΜͳ࣮૷ʹͳͬͯΔͷʁ

Slide 6

Slide 6 text

ίʔυΛಡΜͰΈͨ ʢ-BSBWFMʣ

Slide 7

Slide 7 text

͍͍ͩͨ͜͏ͳͬͯΔ 3PVUF 3PVUF 3PVUF 3PVUFS 3PVUF$PMMFDUJPO w ϧʔςΟϯάॲཧΛߦ͏ຊମ w ϧʔςΟϯάఆٛΛಡΈࠐΈɺ 3PVUFΦϒδΣΫτΛ 3PVUF$PMMFDUJPOʹಥͬࠐΉ w 3PVUF$PMMFDUJPOʹϚον͢Δ 3PVUFΛ୳ͤ͞Δ w 3PVUFʹσΟεύονͤ͞Δ w 3PVUFΫϥεͷू໿Ϋϥε w ࿈૝഑ྻͰ3PVUFΦϒδΣΫτ Λ؅ཧ͍ͯ͠Δ w ϦΫΤετͱ3PVUFΦϒδΣΫ τͱͷϚονϯάΛߦ͏ w ϧʔςΟϯάఆٛ̍ͭʹ૬౰͢Δ Ϋϥε w ࣗ਎ͷϧʔςΟϯάఆٛͱϦΫΤ ετ͕Ϛον͢Δ͔൑ఆ͢Δ w ϧʔςΟϯάઌ΁ͷσΟεύον ΋ߦ͏

Slide 8

Slide 8 text

͍͍ͩͨ͜͏ͳͬͯΔ 3PVUF 3PVUF 3PVUF 3PVUFS 3PVUF$PMMFDUJPO ϧʔςΟϯά͢ΔϚϯ ϧʔτ୳͢Ϛϯ σΟεύον͢ΔϚϯ

Slide 9

Slide 9 text

͍͍ͩͨ͜͏΍ͬͯΔ 3PVUF 3PVUF 3PVUF 3PVUFS 3PVUF$PMMFDUJPO 3FRVFTU Ϛον͢Δ3PVUF͍ͩ͘͞ ͑͑Ͱ

Slide 10

Slide 10 text

͍͍ͩͨ͜͏΍ͬͯΔ 3PVUF 3PVUF 3PVUF 3PVUFS 3PVUF$PMMFDUJPO 3FRVFTU ͜Ε΍Ͱ

Slide 11

Slide 11 text

͍͍ͩͨ͜͏΍ͬͯΔ 3PVUF 3PVUF 3PVUF 3PVUFS 3PVUF$PMMFDUJPO σΟεύον͍ͯͩ͘͠͞ 3FRVFTU ͑͑Ͱ

Slide 12

Slide 12 text

͍͍ͩͨ͜͏΍ͬͯΔ 3PVUF 3PVUF 3PVUF 3PVUFS 3PVUF$PMMFDUJPO 3FRVFTU $POUSPMMFS $POUSPMMFS%JTQBUDIFS Ͱ͖ͨͰ

Slide 13

Slide 13 text

େମ͜Μͳײ͡

Slide 14

Slide 14 text

Slide 15

Slide 15 text

Ϛονϯάํ๏ w 3PVUF$PMMFDUJPO͕࿈૝഑ྻͰ3PVUFΦϒδΣΫτΛ࣋ͭ w )551ϝιουͰ3PVUFΦϒδΣΫτΛநग़͔ͯ͠Βɺ্͔Βॱ൪ʹϚονϯά൑ఆΛߦ͏ ʢ࠷ॳʹϚονͨ͠΋ͷΛฦ͢ʣ $routes = [ ‘GET’ => [ ‘entry’ => RouteA, ‘entry/{id}’ => RouteB, ], ‘POST’ => [ ‘entry/{id}’ => RouteC, ‘entry/{id}/comment/{comment_id}’ => RouteD, ], ]; ্͔Βॱ൪ʹ൑ఆ͢Δ

Slide 16

Slide 16 text

࿈૝഑ྻͷΩʔͰߜΓࠐΜͰ͔Β ϧʔϓॲཧ

Slide 17

Slide 17 text

ϧʔςΟϯάॲཧͬͯҙ֎ͱ؆୯

Slide 18

Slide 18 text

kawashima$ wc -l src/Illuminate/Routing/Router.php 1282 src/Illuminate/Routing/Router.php kawashima$ wc -l src/Illuminate/Routing/Route.php 944 src/Illuminate/Routing/Route.php

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

php > $route = new ReflectionClass( '\Illuminate\Routing\Route'); php > var_dump(count($route->getMethods())); int(63)

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

ϧʔςΟϯάʹؔΘΔΫϥε܈ w3PVUFS w3PVUF$PMMFDUJPO w3PVUF w3PVUF4FSWJDF1SPWJEFS w6SM(FOFSBUPS w3FTPVSDF3FHJTUFS w1JQFMJOF w$POUSPMMFS%JTQBUDIFS w.FUIPE7BMJEBUPS w4DIFNF7BMJEBUPS w)PTU7BMJEBUPS w6SJ7BMJEBUPS w4ZNGPOZ$PNQPOFOUT w3PVUF w3PVUF$PNQJMFS w$PNQJMF3PVUF

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

࣮͸ΊͬͪΌෳࡶ wϧʔςΟϯάͰ΍Βͳ͖Ό͍͚ͳ͍͜ͱͬͯ݁ߏ͋Δ wϛυϧ΢ΣΞͷݺͼग़͠ wϧʔςΟϯάύεͷύϥϝʔλ෦෼ͷऔಘ w$POUSPMMFS΁ͷσΟεύον wʢ-BSBWFMͷ৔߹͸ʣ$POUSPMMFSͷϝιουͷҾ਺஫ೖ w7JFX্Ͱͷ63-ੜ੒ wϧʔςΟϯάఆٛΛॻ͖΍͘͢͢ΔͨΊʹɺ৭ʑͳϝιουΛఏڙ͠ͳ͍ͱ͍ ͚ͳ͍

Slide 25

Slide 25 text

·ͱΊ wͪΌΜͱͨ͠ϧʔςΟϯάॲཧͷ࣮૷͸࣮͸݁ߏෳࡶ w๻Β͸ϏδωεϩδοΫͷ࣮૷ʹूத͍ͨ͠ wϧʔςΟϯάॲཧ͸ຊ࣭ͷ෦෼͡Όͳ͍ wຊ࣭͡Όͳ͍͚Ͳ΍Βͳ͖Ό͍͚ͳ͍͜ͱ͕ͨ͘͞Μ͋Δॲཧ wϧʔςΟϯά͚ͩߦ͏Α͏ͳϚΠΫϩϑϨʔϜϫʔΫ΍ίϯϙʔωϯτ͸͋Δ ͷͰɺͦ͏͍͏ͷΛ࢖͍·͠ΐ͏