Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
phpconf_fukuoka_sponsor_session.pdf
Search
gorogoroyasu
June 10, 2017
1
4.1k
phpconf_fukuoka_sponsor_session.pdf
PHPカンファレンス福岡2017 のスポンサーセッションで話した内容です。
いずれyoutube に上がるらしいです。
gorogoroyasu
June 10, 2017
Tweet
Share
More Decks by gorogoroyasu
See All by gorogoroyasu
ガラケーの世界
gorogoroyasu
1
1.8k
未経験で入った新卒が、CakePHP にPR出してMerge された話
gorogoroyasu
1
250
Featured
See All Featured
Making Projects Easy
brettharned
117
6.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
GitHub's CSS Performance
jonrohan
1032
460k
A better future with KSS
kneath
239
17k
Producing Creativity
orderedlist
PRO
347
40k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
RailsConf 2023
tenderlove
30
1.2k
Rails Girls Zürich Keynote
gr2m
95
14k
Statistics for Hackers
jakevdp
799
220k
Transcript
גࣜձࣾ'VTJD ٕज़։ൃ෦ ج൫Ϣχοτ ᖛହ໌ !HPSPHPSPZBTV ʲϓϥνφεϙϯαʔηογϣϯʳ ৽ଔ͕αʔϏε։ൃͷࡍʹ Γӽ͑ͨ՝ͱͦͷղ๏ͳͲ
ᖛହ໌ UXJUUFS!HPSPHPSPZBTV ·ͷ HJUIVCHJUIVCDPNHPSPHPSPZBTV GBDFCPPLᖛହ໌ ࣗݾհ ݸਓ ݄ʹ৽ଔͰೖࣾ
ͪΐͬͱͷؒʹֶΜͩ͜ͱΛൃද͠·͢ɻ
ࣗݾհ ձࣾ 'VTJDͰɺٕज़͕େ͖ͳΤϯδχΞΛืू͍ͯ͠·͢
ࣗݾհ ࣗࣾαʔϏε
ࣗݾհ ࣗࣾαʔϏε ࡞ͬͨਓ
ࣗݾհ ࣗࣾαʔϏε
ࣗݾհ ࣗࣾαʔϏε
ࣗݾհ ࣗࣾαʔϏε ʴ ʹಧ͘࿈བྷ
ࣗݾհ ࣗࣾαʔϏε ͷߏ ʴ ʹಧ͘࿈བྷ
ࣗݾհ ࣗࣾαʔϏε ʴ ʹಧ͘࿈བྷ ɾ$BLF1)1Λͬͯ։ൃ ɾ1)1 ɾొஃऀͱɺҰૣ͘ೖͬͨઌഐΤϯδχΞ͕ओʹ։ൃ TJHGZ։ൃͷࡍʹΓӽ͑ͨ՝ͱͦͷղ๏
TJHGZͷνʔϜհ Ϛωʔδϟʔ ϓϩμΫτΦʔφʔ 1.0ͷਓ Ӧۀͱ͔ ΤϯδχΞ ࣌ ؖࠃਓ
ຊޠΕΔ ৽ଔΤϯδχΞ ࣌ ొஃऀ اըͱ͔ ํͱ͔ ࣮୲
ҙࣄ߲ ຊηογϣϯͰɺ ৽ଔͰೖࣾͨ͠ɺϓϩάϥϛϯάະܦݧͷएऀ͕ɺ ͲΜͳ՝ΛͲͷΑ͏ʹղܾ͔ͨ͠Λޠ͍͖ͬͯ·͢ɻ ͦΕΒΛ͝ঝͷ্ɺ ͓ฉ͖ͩ͘͞Εͱࢥ͍·͢ɻ
͠ʮ͜͏ͨ͠ํ͕͍͍Αʯͱ͔͋Εɺ ڭ͍͚͑ͯͨͩΔͱେม͋Γ͕͍ͨͰ͢ʂ ࠙ձʹߦ͖·͢ɻ ·ͨɺd"TLUIF4QFBLFSʹ͍Δ༧ఆͳͷͰɺ ੋඇ͓ӽ͍ͩ͘͠͞ʂ ҙࣄ߲
ൃදͷ࣍ 1)11)1 HJUDMPOFσϓϩΠπʔϧͷಋೖ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ େྔ৴
1)11)1 ͍͖ͳΓ։ൃޙظͷ sigfy ɺPHP5.6 Λͬͯ։ൃ͞Εͨɻ ཧ༝ฐࣾͰɺPHP > 7.0 &
CakePHP3 ͷ ։ൃ࣮͕ͳ͔͔ͬͨΒ => PHP7.0 ʹ͠Α͏ͱ͍͏ʹͳͬͨ
1)11)1 ࣮͕ͳ͍ͷʹΓ͑Δཧ༝ 1. ࣮ߦ͕͍ 2. ࣗࣾαʔϏεͰ࣮Λ࡞Δʂ 3. αϙʔτظ͕͍ؒ
1)11)1 ࣮ߦ͕͍ ͋Γ͕͍ͨɻ ࠷ۙɺฐࣾͷଞϓϩδΣΫτͰɺ ࣮ߦ͕ૣ͘ͳͬͨ͜ͱΛ࣮ײͨ͠ɻ
1)11)1 ͔Δɻ ͍͖ͳΓडୗͰࢼ͢Θ͚ʹ͍͔ͳ͍ɻ ͔ͱ͍ͬͯɺࣾ༻ͷγεςϜن͕খ͍͞ɻ ࣗࣾαʔϏεͰ࣮Λ࡞Δ
1)11)1 ͔Δɻ αϙʔτ͍΄͏͕͍͍ʹܾ·͍ͬͯΔɻ ͱ͍͏͜ͱͰɺ1)1ʹΓ͑Δ͜ͱʹͨ͠ɻ ࠷ॳͷ1)1ͷબఆཧ༝͕෴ͬͨɻ αϙʔτظ͕͍ؒ
1)11)1 ※ αϙʔτظ͕͍ؒӕɻ http://php.net/supported-versions.php 1)1ͷ΄͏͕ ͚ͩαϙʔτ͕͍ɻ
1)11)1 ࣮ࡍʹͬͯΈͨ Ҡߦʹ͔͔ͬͨ࣌ؒ ڥߏங࣌ؒ ࣮ͷมߋ΄ͱΜͲͳ͠ʂ ײ ڥߏஙɺׂͱ໘ͩͬͨɻ ͕ɺ࣮ࡍʹॻ͍͍ͯͨίʔυ ΄΅ͦͷ··ಈ͍ͨʂ
༻͍ͯ͠Δ'8 ϥΠϒϥϦ͕ ରԠ͍ͯͨ͠ͷ͕େ͖͔ͬͨʂ ײँ͍ͯ͠·͢ʂ
1)11)1 ͘ͳͬͨɺ ͜͜Ͱ͞ͳ͍ͷͰɺ ͝ڵຯͷ͋Δํ ࠙ձͰΛ͔͚͍ͯͩ͘͞ʂ ࠓͷൃදɺ όʔδϣϯΞοϓͷ͕ଟ͘ɺ ָ͠ΈͰ͢ʂ 'VTJDϗʔϧd
'VTJDϗʔϧd %ϗʔϧd ଞʹ͋ͬͨΒ͝ΊΜͳ͍͞
ൃදͷ࣍ 1)11)1ऴΘΓ HJUDMPOFσϓϩΠπʔϧͷಋೖ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ େྔ৴
HJUDMPOFσϓϩΠπʔϧͷಋೖ σϓϩΠπʔϧΛಋೖ͍ͯ͠·͔͢ʁ ॳTJHGZͰɺಋೖ͞Ε͍ͯ·ͤΜͰͨ͠ɻ ͔͠͠ɺςετڥΛ࣮ࡍʹӡ༻ͯ͠Έͯɺ ͦͷෆศ͞ʹؾ͍ͮͯ͠·ͬͨͷͰ͢ɻ
HJUDMPOFͷ࣍ σϓϩΠखॱ͕ࡶ ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍ HJUDMPOFσϓϩΠπʔϧͷಋೖ
σϓϩΠखॱ͕ࡶ ςετڥ༻ͷϒϥϯνΛ࡞QVTI ϩʔΧϧ͔ΒϦϞʔτ44) ಛఆͷσΟϨΫτϦҠಈ ϦϞʔτϒϥϯνΛऔͬͯ͘Δ
ϒϥϯνΛҠಈ NJHSBUJPOΛ࣮ߦɻCJODBLFNJHSBUJPOTNJHSBUF HJUDMPOFσϓϩΠπʔϧͷಋೖ
ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍ TTIQIQDPOGGVLVPLB DEIPHFGVHB HJUTUBUVT CSBODI" CSBODI"ͬͯͳΜ͚ͩͬʁ ςετڥΛߋ৽͠Α͏ɻ HJUDMPOFσϓϩΠπʔϧͷಋೖ
ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍ !MFF͍ɺͩΊͰ͢ !IBNBOP CSBODI"ͬͯԿʁ ߋ৽͍͍ͯ͠ʁ ɻɻɻ HJUDMPOFσϓϩΠπʔϧͷಋೖ
!MFF͍ɺͩΊͰ͢ !IBNBOP CSBODI#ͬͯԿʁ ߋ৽͍͍ͯ͠ʁ ɻɻɻ ຖճ44)ͯ͠ɺ αʔόʔͷঢ়ଶ֬ೝͯ͠ ίϛϡχέʔγϣϯɻɻɻ ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍
HJUDMPOFσϓϩΠπʔϧͷಋೖ
ͬͨͷDBQJTUSBOP SVCZͷπʔϧ શͯͷσϓϩΠ͕ίʔυͰཧ͞ΕΔɻ ઃఆϑΝΠϧॻ͍ͯɺίϚϯυଧ͚ͭͩɻ IUUQTEFQMPZFSPSH ͪͳΈʹɺ1)1Ͱॻ͔Εͨ%FQMPZFSͱ͍͏πʔϧ͋Γ·͢ɻ HJUDMPOFσϓϩΠπʔϧͷಋೖ
σϓϩΠखॱ͕ࡶ ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍ σϓϩΠɺίϚϯυҰൃ खݩͷϑΝΠϧΛݟΕঢ়گ͕ѲͰ͖Δɻ ϛεͱແԑʹͳΔɻ HJUDMPOFσϓϩΠπʔϧͷಋೖ
ઃఆϑΝΠϧͷϛεා͍ɻɻɻ ઃఆϑΝΠϧΛฤूɺμϒϧνΣοΫͯ͠ DBQJTUSBOPͷίϚϯυΛୟ͍ͯσϓϩΠ HJUDMPOFσϓϩΠπʔϧͷಋೖ ͬͨͷDBQJTUSBOP SVCZͷπʔϧ શͯͷσϓϩΠ͕ίʔυͰཧ͞ΕΔɻ ઃఆϑΝΠϧॻ͍ͯɺίϚϯυଧ͚ͭͩɻ
ઃఆϑΝΠϧͷϛεා͍ɻɻɻ ՝ σϓϩΠʹɺਓతϛε͕ೖΓࠐΉ༨͕͋Δ ઃఆϑΝΠϧΛฤूɺμϒϧνΣοΫͯ͠ DBQJTUSBOPͷίϚϯυΛୟ͍ͯσϓϩΠ ݱ࣮ HJUDMPOFσϓϩΠπʔϧͷಋೖ
ઃఆϑΝΠϧͷϛεා͍ɻɻɻ ՝ σϓϩΠʹɺਓతϛε͕ೖΓࠐΉ༨͕͋Δ ઃఆϑΝΠϧΛฤूɺμϒϧνΣοΫͯ͠ DBQJTUSBOPͷίϚϯυΛୟ͍ͯσϓϩΠ ݱ࣮ HJUDMPOFσϓϩΠπʔϧͷಋೖ গ͠ਐΜ͔ͩͳɾɾɾʁ
ઃఆϑΝΠϧͷத HJUDMPOFσϓϩΠπʔϧͷಋೖ σϓϩΠ͢ΔCSBODIͷใ σϓϩΠ͢Δύεͷใ "84ଓใ ϥΠϯΛ༻͢Δϑϥά ʴ ͓٬༷ݻ༗ͷใ
ൃදͷ࣍ 1)11)1ऴΘΓ HJUDMPOFσϓϩΠπʔϧͷಋೖऴΘΓ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ େྔ৴
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ݱ࣮ μϒϧνΣοΫ
ઃఆϑΝΠϧ࡞ɾฤू ίϚϯυ࣮ߦ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ݱ࣮ μϒϧνΣοΫ
ઃఆϑΝΠϧ࡞ɾฤू ίϚϯυ࣮ߦ ઃఆϑΝΠϧ໋͕ ͜ΕΛϛεͬͨΒऴΘΓ ࠇ͍ը໘Λ͏ ΤϯδχΞʹ͔͠৮Εͳ͍ 1.0ͷਓ Ӧۀͱ͔ ৮Εͳ͍ਓ ઃఆ࣍ୈͰ ͳΜͰͰ͖ͯ͠·͏ɻɻɻ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ղܾࡦ ཧαΠτ࡞ͬͯɺ
ࣗಈͰσϓϩΠͰ͖ΔΑ͏ʹ͢Δʂ ࣗવͳྲྀΕ
ղܾࡦ ཧαΠτ࡞ͬͯɺ ࣗಈͰσϓϩΠͰ͖ΔΑ͏ʹ͢Δʂ ࣗવͳྲྀΕ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ
த ʂ 8FCJTUSBOPͷΑ͏ͳΠϝʔδ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ཧαΠτ͕Ͱ͖Δ͜ͱͷϝϦοτ ඇΤϯδχΞ͕αʔϏεΛ৮ΕΔΑ͏ʹͳΔ
ઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔOFX σϓϩΠϛε͕͛Δ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔ ݱ࣮
ར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ 1)1ͷݱFQ
IUUQQIQHFOCBTIJOYDPN ઃఆϑΝΠϧΛ৮Δͬͯͷɺ ੲΑͬͯ͘·ͨ͠Ͷʔ ҙ༁
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ 1)1ͷݱFQ
IUUQQIQHFOCBTIJOYDPN ઃఆϑΝΠϧΛ৮Δͬͯͷɺ ੲΑͬͯ͘·ͨ͠Ͷʔ ҙ༁ ੲɻɻɻ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ ཧαΠτΛ࣋ͭ͜ͱʹΑΓ
͓٬༷ݻ༗ͷใΛ ϑΝΠϧͰͳ͘%#ʹஔ͘͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ཧը໘͕Ͱ͖Δ͜ͱͷϝϦοτ ඇΤϯδχΞ͕αʔϏεΛ৮ΕΔΑ͏ʹͳΔ
σϓϩΠϛε͕͛Δ ઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ඇΤϯδχΞ ཧαΠτ
(6* TBWF "OTJCMF $BQJTUSBOP ݁Ռ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ඇΤϯδχΞ ཧαΠτ
(6* TBWF "1*
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ඇΤϯδχΞ ཧαΠτ
(6* TBWF "OTJCMF $BQJTUSBOP ݁Ռ "1*
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ ઈ ࢍ ։ ൃ த ʂ ඇΤϯδχΞ͕αʔϏεΛ৮ΕΔΑ͏ʹͳΔ σϓϩΠϛε͕͛Δ
ઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔ (6*͔ΒઃఆͷมߋɾσϓϩΠΛߦ͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔɻ ใ͕ҰՕॴʹू͞Ε͍ͯΔɻ ՄೳͳݶΓػೳΛߜΔ͜ͱʹΑΓɺ҆શʹӡ༻Ͱ͖ΔΑ͏ʹ͢Δɻ ใ͕ҰՕॴʹ·ͱ·͍ͬͯΔ
ൃදͷ࣍ 1)11)1ऴΘΓ HJUDMPOFσϓϩΠπʔϧͷಋೖऴΘΓ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽऴΘΓ େྔ৴
TJHGZͷ༝དྷ ࿈བྷ ҰՕॴ͔Βଟํ໘ʹ߹ਤΛૹΔ Ԏ ͷΖ͠ ͷΑ͏ͩʂ TJHOBMpSF ͷΖ͠
IUUQTEFTJHOTKQ
ൃදͷ࣍ 1)11)1ऴΘΓ HJUDMPOFσϓϩΠͷίʔυԽऴΘΓ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽऴΘΓ େྔ৴
େྔ৴ 4&4Λͬͯɺେྔ৴Λ࣮ݱͨ͠ɻ
େྔ৴ ͳͥ4&4Λ͏ͷ͔ʁ ֎෦ͷαʔϏεΛͬͯɺ࣮ίετΛ͑ΔͨΊɻ "84ʹΑͬͯӡӦ͞Ε͍ͯΔͷͰ҆৺ײ͕͋Δ
େྔ৴ 4&4Λͬͨ߹ͷ͍͍ͱ͜Ζ "1*Λୟ͚ͩ͘Ͱϝʔϧͷૹ৴͕࣮ݱՄೳ όϯεใͷऔಘ͕Մೳ
େྔ৴ 4&4Λͬͨ߹ͷѱ͍ͱ͜Ζ ૹ৴ʹ্ݶ͕͋Δ ௨ɺ௨T όϯεϝʔϧͷཧΛͪΌΜͱ͠ͳ͍ͱ ϝʔϧͷ৴ࣗମΛࢭΊΒΕΔɻ
େྔ৴ ૹ৴ʹ্ݶ͕͋Δ ௨ɺ௨T Կ݅ૹΕ·͔͢ʁ 9͍͚݅·͢Αʂ ͓ئ͍͠·͢ʔ Ϩεϙϯε ϝοηʔδΛ 9݅४උ
1SPNJTF aFBDI@MJNJU
େྔ৴ όϯεϝʔϧͷཧΛͪΌΜͱ͠ͳ͍ͱ ϝʔϧͷ৴ࣗମΛࢭΊΒΕΔɻ 0, ιϑτόϯεͩΑʔ ϋʔυόϯεͩΑʔ PL PL ૹΒΕͯ͜ͳ͍
ΤϯυϙΠϯτ
େྔ৴ όϯεϝʔϧͷཧΛͪΌΜͱ͠ͳ͍ͱ ϝʔϧͷ৴ࣗମΛࢭΊΒΕΔɻ ιϑτόϯεͷ߹ ϋʔυόϯεͷ߹ ͓٬༷ʹɺ ιϑτόϯεͰ͋ΔࢫΛ͑Δ ࠶ૹϘλϯΛԡͯ͠ ࠶ૹͰ͖ΔΑ͏ʹ͢Δ
͓٬༷ʹɺ ϋʔυόϯεͰ͋ΔࢫΛ͑Δ ࠶ૹͰ͖ͳ͍Α͏ʹ͢Δɻ
େྔ৴ ͜ΕΒͷΓऔΓΛɺෳϦʔδϣϯʹରͯ͠ߦ͏͜ͱʹΑΓɺ ߴͳϝʔϧૹ৴Λ࣮ݱ͍ͯ͠Δɻ
ൃදͷ࣍ 1)11)1ऴΘΓ HJUDMPOFσϓϩΠπʔϧͷಋೖऴΘΓ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽऴΘΓ େྔ৴ऴΘΓ
·ͱΊ 1)11)1 HJUDMPOFσϓϩΠπʔϧͷಋೖ ίϚϯυૢ࡞σϓϩΠͷࣗಈԽ େྔ৴
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ "TLUIF4QFBLFSd$ϗʔϧ ࣭͝ɾ͝ҙݟɾ͝ײ $ϗʔϧ'VTJDϒʔε NPDLNPDLʹؔ͢Δ࣭