@PHPカンファレンス福岡 2016 http://phpcon.fukuoka.jp/
d͖Έ͚ͩͷ͍͖͞ΐ͏ͷ1)1Λͭ͘Ζ͏ʂdGMO Pepabo, Inc.Uchio Kondo2016/05/21 PHPΧϯϑΝϨϯεԬ2016!!11)11BB4ʮ4RBMFʯ Λࢧ͑Δίϯςφ ͳͲٕज़
View Slide
NF
ۙ౻͏͓ͪ !VE[VSB(.0ϖύϘॴଐ ٕज़ج൫νʔϜ Ԭࢧࣾۈ 'VLVPLBSC 3BJMT(JSMT'VLVPLB૯߹ࡶ༻ίʔν·ͱΊ
ஶ࡞Ͱ͢
ੴΛ͛ͳ͍Ͱʂ
'"2 2ॳΊͯຊ֨తʹ৮ͬͨϓϩάϥϛϯάݴޠʁ "1)1Ͱ͢ʂ
ൃදͷલʹ
1)1
4RBMFͰఏڙ։࢝͠·͢ʂ˞ ЌϦϦʔεͱ͍͏͜ͱͰΑΖ͓͘͠ئ͍͠·͢ɻ
ʂʂʂʂʂʂʂʂʂʂʂ
ؓٳ
4RBMFͱ
4RBMF ͍ΘΏΔɺ1BB4 4'51(JUʹΑΔσϓϩΠ 3VCZͱ1)1ʹରԠ͍ͯ͠Δ
ٕज़ͷৄࡉ !IJCPNB͞ΜʹΑΔൃදࢿྉ͕͋Γ·͢ 1BB4ͷ࡞Γํ4RBMFͷ߹ IUUQXXXTMJEFTIBSFOFUIJCPNBTRBMFQBBT
Ҏ্Ͱ͢
͑ͬʜʜ
͋Ε͔Β
͋ͷαʔϏεࠓ
ۙگใࠂ
࠷͍ۙͬͯΔ͜ͱ *BB4͔Β/ZBIʹҠઃ͍ͯ͠Δ ͍ͭͰͱ͍͏͔ɺγεςϜ৽݉Ͷ͍ͯΔ ࢥͬͨҎ্ʹಈ͍ͯΔɻηΩϡϦςΟͰෆ҆ͳͱͭ͜Ϳͭͭ͠ؾ࣋ͪʹͳ͍ͬͯΔ
/ZBIͬͪʁ ࣾͷϓϥΠϕʔτɾΫϥυ ൃදࢿྉଟɻ!UONU͞ΜͷεϥΠυͳͲ IUUQTTQFBLFSEFDLDPNUONUQFQBCPTQSJWBUFDMPVEOZBIBGUFSUIBU
1)1ͷՃ ͦͯ͠ 1)1ͷͳͷͰޙ΄Ͳ·ͱΊͯɻ
ͦͷ΄͔ ϛυϧΣΞ04ͷΞοϓάϨʙυݕূத $FOU04 ,FSOFM -9$ ͳͲͳͲʜʜ
-9$
ίϯςφٕज़
ίϯςφͬͯͦͦԿͳͷ
ྑ͍ࢿྉ͕͋Γ·͢ -JOVYίϯςφͷجૅ !ίϯςφܕԾԽͷใަձJOԬ IUUQTTQFBLFSEFDLDPNUFOGPSXBSEUIDUTUVEZ
͏ͪΐͬͱʜ 4RBMFͰ͜͜·Ͱड़͖ͯͨ-9$Λ͔ͭͬͯɺʮϢʔβίϯςφʯΛ্ཱ͍ͪ͛ͯ·͢ɻ ҙͱͯ͠ɺҎલͷόʔδϣϯΛར༻ͯͨ͠Γ͢ΔͷͰɺݹ͍Λ͍ͯ͠Δ͔ʜʜ
ίϯςφͷཧղͷલఏͱͯ͠ -JOVYίϯςφɺ୯Ұͷػೳͱ࣮ͯ͠͞Ε͍ͯΔΘ͚Ͱͳ͍ɻ DHSPVQ -JOVYOBNFTQBDF ϑΝΠϧγεςϜͷִ DISPPU RVPUB $BQBCJMJUJFT
ͻͱͭͻͱͭখ͞ͳɺγϯϓϧͳػೳ
DHSPVQ $POUSPM(SPVQͷҙ ϗετͷ༷ʑͳཧϦιʔεʹର͢Δ੍ݶΛ͢Δ $16ɺϝϞϦɺ#MPDL*0
DHSPVQͷྺ࢙ DHSPVQ݄ʹ(PPHMFͷΤϯδχΞʹΑͬͯ࠷ॳͷύον͕ߘ͞ΕɼΧʔωϧͰ࠷ॳͷϚʔδ͕ͳ͞ΕͨػೳͰ͢ɻʹϦϦʔε͞Εͨ3FE)BU&OUFSQSJTF-JOVYʹ͜ͷػೳ͕ࡌ͞Εʜ SFGTIUUQHJIZPKQBENJOTFSJBMMJOVY@DPOUBJOFST
-JOVYOBNFTQBDF 04Λ͏ͨΊͷ༷ʑͳϦιʔεΛִ͢Δ ͋ΔϓϩηεͷOBNFTQBDFΛɺ΄͔ͷϓϩηε͔Βݟ͑ͳ͘Ͱ͖Δ ϚϯτϙΠϯτɺ*1$ɺϢʔβʔɺωοτϫʔΫ
ϑΝΠϧγεςϜपΓͷִ DISPPU ϑΝΠϧγεςϜͷΛมߋɺݟ͑ΔॴΛม͑Δ RVPUB YGT@RVPUB ϑΝΠϧγεςϜͷར༻ΛϓϩδΣΫτ͝ͱʹ੍ݶɺϨϙʔτͰ͖Δ
-JOVYDBQBCJMJUJFT εʔύʔϢʔβͷݖݶΛׂ͠ɺڐՄΛ༩͑ͨΓېࢭͨ͠ΓͰ͖Δ ྫ$"1@4:4@5*.& γεςϜΫϩοΫͷมߋΛڐՄ͢Δ$BQBCJMJUZ ͜ΕΛୣ͑ɺϗετͷ࣌ؒมߋ͕Ͱ͖ͳ͍ ୣΘΕͨϓϩηεͰEBUFTίϚϯυΛଧͬͯΈΑ͏ %PDLFSͳͲͰࢼͯ͠Έ·͠ΐ͏
͜ΕΒΛΈ߹ΘͤΔͱʜ
͔͋ͨʮԾڥʯͷ Α͏ʹѻ͑Δ
':*ԾڥͬͯԿͩ ࣮ଶɺ 04Ϧιʔεͷִ OBNFTQBDF DISPPUʴ ੍ݶ DHSPVQ DBQBCJMJUJFT ͔͠͠ɺϢʔβ͔ΒݟΔͱɺ͍͍ͩͨಠཱͨ͠04ͷΑ͏ʹѻ͑ͨΓ͢ΔͷͰɺ͔Γ͢͞༏ઌͰҰछͷʮԾڥʯͱݺΜͩΓ͢Δ
۩ମతͳ-9$ͷ͍ํ
ϑΝΠϧγεςϜͷڞ༗ ΄ͱΜͲSFBEPOMZͰCJOENPVOU͠ͳ͓͍ͯ͠Δ ϢʔβྖҬΛݶఆ͢ΔʢRVPUB͢Δʣ SFBEPOMZͳͱ͜Ζڞ༻ ڞ༻ͳͷͰɺมߋ͕શίϯςφʹ͙͢ʹө͢Δɻ1)1όΠφϦͷՃ͕Γ͍͢
ར༻͢Δ$16 ίϯςφ࡞࣌ʹܾΊ͏͍ͪͯ͠Δɻ ࠓͷͱ͜Ҡઃखಈʜʜ ͳΊΒ͔ʹ͍ͨ͠Ͱ͢Ͷ
GPSLCPNCରࡦ ಠࣗύονΛར༻ NJ[[Z͞ΜͷεϥΠυ IUUQCJUMZ7:(D ։ൃͷຊےʹ͋ΔDHSPVQͷઃఆ߲ʹ͍ͨ͠ʢͷͪ΄Ͳʣ
Φʔόʔϔου͋Δʁ
؆୯ͳϕϯν έʔε DISPPUͷΈɺ$16ɺ(#NFN έʔε -9$Ͱ$16ɺ(#NFNར༻ ωοτϫʔΫͷͤͣ ͦͷଞͷ݅ಉ͡ IUUQEQIQGQN 1)1 $FOU04 1)1QSJOUl)FMMPzఔͷॲཧ "# XJUILFFQBMJWF
ߟ ΞʔΩςΫνϟͷҧ͍ ʢDISPPUͷΈ͔ɺ-9$Λܦ༝͢Δ͔ʣ ʹΑΔΦʔόʔϔου֬ೝͰ͖ͳ͍ɻ গͳ͘ͱ΄ͱΜͲͷ߹ଞͷϘτϧωοΫ͕ ઌʹདྷΔͱݴ͑ΔͩΖ͏ ωοτϫʔΫϑΝΠϧγεςϜͷΛ͍ͯ͠ͳ͍͜ͱ͕ޮ͍͍ͯΔՄೳੑ͕͋Δ
1BB4Ͳ͏ͬͯಈ͘ͱݴ͏
ͳʹͱ͋ΕίϯςφΛ࡞Δ ίϯςφΛ࡞ΔͱҎԼͷͷ͕࡞ΒΕΔ ίϯςφͷSPPUGT 4'51HJUͷϑΝΠϧγεςϜʢσϓϩΠ༻ʣ %/4Ϩίʔυ Ϣʔβͷ͏%#
ͱ͜ΖͰ 4RBMFࣗମͷ8FCΞϓϦέʔγϣϯ 3⚪CZ⚪O3⚪JMT Ͱ͢
3FTRVF 3BJMTͷ༗໊ͳδϣϒΩϡʔϓϥάΠϯ جຊతʹɺίϯςφͷϓϩϏδϣχϯάͷॲཧɺδϣϒΩϡʔͰඇಉظԽ͞Ε͍ͯΔ ͔ͭɺϗετؒ3FEJTͷδϣϒΩϡʔͷΈͰͭͳ͕͍ͬͯͯɺεέʔϧ͍͢͠
͍͘ΒͰಉ͡ϩʔϧΛՃՄೳCVJMEʜVTFSTʜHJUʜ
ίϯςφͷSPPUGTΛͲ͏࡞Δʁ $IFGXJUIDISPPUͰͬ͘͞Γͱ ͜͜Φʔόʔϔουগͳ͘ ϑΝΠϧγεςϜͷཧʹಛԽͨ͠ϨγϐΛॻ͘αʔϏεཧͱ͔͓͍ͱ͘ SPPUͱͳΔɺجຊతͳϑΝΠϧγεςϜΛ࡞Δ ˠͦͷޙɺϢʔβ͕͍͡ΕΔσΟϨΫτϦҎԼΛ࡞Δ ʢIPNFTRBMFͳͲʣ
HJUQVTIͳͲͰσϓϩΠΛ͢Δ SFDFJWFIPPL͕ىಈ͢Δ ͬͺΓ3VCZ ͦ͜ͰσϓϩΠϓϩηε͕Δ 3BJMTͳΒ CVOEMFJOTUBMMBTTFUQSFDPNQJMFSTZOD 1)1୯ʹSTZOD DPNQPTFSͳͲEFQMPZޙͷIPPLΛఆٛͰ͖ΔͷͰͦ͜Ͱ
Ϗϧυδϣϒ3BJMTΞϓϦͷதʹ 3VCZͰ؆୯ͳ%4-Λ࡞͓ͬͯΓɺ Ճ͕ 3VCZJTUʹ؆୯ʹݟ͑Δ ͦͷؾʹͳΕରԠݴޠΛ૿ͤΔ͔ ͪ͜Β͋ͱͰʜ
1)1ରԠͷ
3VCZͷ৽όʔδϣϯରԠ όΠφϦՃ SCFOWલఏ Ϗϧυ༻ͷεΫϦϓτ͕࡞ΒΕ͓ͯΓɺखॱཱ͍֬ͯ͠Δɻ ൺֱత؆୯ʹରԠͰ͖Δɻ ίϛολձࣾʹࡏ੶͠ɺॆ࣮ͨ͠αϙʔτɻ
1)1ͷ৽όʔδϣϯରԠ ʢखهͦ͜Ͱ్Ε͍ͯΔʣHJUIVCͷJTTVF
Ϗϧυखॱ͕ࣦΘΕ͍ͯΔ
Ͳ͏ͬͯࢲ1)1όΠφϦΛՃ͔ͨ͠ʁ
ߟݹֶతௐࠪۀ *TTVFʹඍົʹ͍ͬͯͨͷͰɺͦ͜ͰશΛ௫Ή 3VCZͱಉ༷QIQFOWϕʔεΒ͍͠ Ϗϧυͯ͠UH[ͰݻΊΔɺجຊγϯϓϧʹͬͯͦ͏ EFpOJUJPOɺ͍·ࣦΘΕͨαʔόʹʜ ʜʜ
ϏϧυΦϓγϣϯͷௐࠪ طଘͷόΠφϦ ͷQIQJOGP ͔Βऔಘ σϑΥϧτͷϏϧυͱΦϓγϣϯͱൺֱ TRMJUFରԠͷ֦ுͳ͘Ͷʁʢ͔͔͠Βʣ ௐͯɺ4RBMFͷαϙʔτର͔Βམͱ͢ɻ
1&"3ύοέʔδ ϚχϡΞϧʹ͋ΔͭΛҰ௨ΓೖΕΔ IUUQTTRBMFKQTVQQPSUNBOVBMQIQ όʔδϣϯࢥ͍ͬͯ৽͘͢͠Δ QFBSίϚϯυࣗମϢʔβ͞Μ͕ୟ͚ΔΜͰ ͬͪ͜εΫϦϓτԽ
NFNDBDIFE֦ு 1)1ͩͱQFDMͷͭ͡ΌͩΊΆʜʜ HJUIVC͔Βऔͬͯ͘ΔͱϏϧυͰ͖ͨɻͦΕΛ͏
ͳΜ͔͔ΒQIQGQNͷઃఆมΘͬͨʁ :FUBOPUIFS͏⚪Β͞Μʹಥܸͨ͠
ͱ͍͏͜ͱͰݕূՄೳͳ ঢ়ଶʹ࣋ͬͯߦͬͨ
ͯ͞ɺͲ͏ͩΖ͏ʜʜ
8PSE1SFTT͕ಈ͍ͨ
ओཁͳ1)1ΞϓϦέʔγϣϯͷಈ࡞ͱ ֦ுͳͲΛςετͯ͠ϦϦʔεɻ
50%0 ࣮͍·ͩʹ͜ͷͷखॱΛεΫϦϓτԽࣗಈԽͰ͖͍ͯͳ͍ʜʜ ͜ͷखॱɺࣦ͏Θ͚ʹ͍͔ͳ͍ ୀ৬༧ఆͳ͍ͷͰΏͬ͘ΓΖ͏ʜʜ
͜Ε͔ΒΓ͍ͨ͜ͱ
ϐΧϐΧͷVTFSTΛͭ͘Δ VTFSTϢʔβఏڙαʔόʢϖύϘ༻ޠʁʣ $FOU04 LFSOFM ߟ͍͑ͯΔͷ -9$
ͳͥϐΧϐΧʹ͍͔ͨ͠ -9$ͷόʔδϣϯΧʔωϧͷόʔδϣϯݹ͗ͯ͢MYDBUUBDI͕ಈ͔ͳ͍LFSOFM͕ݹ͍ˠQJEOBNFTQBDFͳ͍͔ΒʂMYD͕ݹ͍ˠOBNFTQBDFͷݶఆ͕Ͱ͖ͳ͍
ͳͥ OFUOT͍ͮΒ͍ $FOU04ͷJQSPVUFOFUOTରԠͯ͠ͳ͍ʜʜ ϐϯϙΠϯτͰͬͯΑΓηΩϡΞʹ͍ͨ͠
ͳͥ LFSOFMҎ߱Ͱɺίϯςφ୯ҐͰϓϩηεͷ੍ݶ͕Ͱ͖ΔΑ͏ʹͳΔɻ ͜ΕɺGPSLCPNCύονͷΘΓͷػೳͱͯ͑͠Δɻ IUUQHJIZPKQBENJOTFSJBMMJOVY@DPOUBJOFST ݱࡏଞʹ༷ʑͳύον͕͍ͨͬͯͯɺಈ͖͕औΓͮΒ͘ɺຊےͷϏϧυΛ͍͍ͨɻ
ରԠݴޠͷՃ OPEFHPMBOHΛಈ͔ͤΔͱ͔͍͍ͬ͜ গͳ͘ͱࣾͰ͍ग़͕͋Δ
)VCPUΛಈ͔͍ͨͧ͠ʂ
ՃͷΊͲཱͬͯΔ ݴޠ༻$IFGͷΫοΫϒοΫΛՃ ݴޠ༻ϏϧυखॱΛ3VCZ%4-ͰՃ ͦͷଞɺඍົʹઃఆΛՃ ͋ͱؾ߹Ͱݕূ Կ͔͕ى͜Γͦ͏
͜Μͳײ͡ʜʜ
աڈʹՃͨ͜͠ͱͳ͍ɻΔͧʂ
Ҏ্ɺΓ͍ͨͰ͢Δͱݴͬͯͳ͍ ʜ
·ͱΊ
ϩϦϙοϓʂϨϯλϧαʔόʔΛΑΖ͓͘͠ئ͍͠·͢ʂʂৄࡉϒʔεͰʂʂ̍
4RBMFͬͯͶ
ίϯςφͱ͔1)1ʹؔ৺ͷ͋ΔਓΛืू͍ͯ͠·͢
ը૾ͳͲͷιʔε ը૾ɺϩΰ(.0ϖύϘΛ࢝Ίɺ֤ࣾɾஂମ͕ݖརΛॴ༗͢Δ߹͕͋Γ·͢ɻҾ༻ͷൣғͰͷར༻Λ͍ͯ͠·͢ɻ λΠτϧ$$ IUUQTQJYBCBZDPNKB&#&#&&"&#$&#"&"&#&#&#&&"&#$&#&%&#$&&##&"&&"&#"&"