PHPカンファレンス福岡2018 #phpconfuk #hall_fu
*OOPWBUPS+BQBO*ODॴ྄&OHJOFFSϩάͷઃܭͯ͠·͔͢ʁPSR3ͱϩάઃܭͷPHPΧϯϑΝϨϯεԬ2018
View Slide
͓ΒͤεϥΠυSpeakerDeckʹΞοϓ͠·͕͢…ࡱӨࣗ༝ʹ͍ͯͯ͋͠Γ·ͤΜ!IBOIBO
͜ͷτʔΫͷඪएखΤϯδχΞதݎΤϯδχΞˠϩάग़ྗʹ͍ͭͯͷ͡ΊͷҰาˠυΩυΩͯ͠Β͏
ࠓճ͓͢Δϩάग़ྗΞϓϦέʔγϣϯϩάߦಈϩάΣϒαʔόͷϩάର֎ओॲཧʹӨڹΛ༩͑ͣɺόονΣϒΞϓϦͷॲཧ్தͰԿΒ͔ͷใΛ֎෦ʹग़ྗ͢Δ
ࠓճͷείʔϓ֎ͷ'MVFOUE -PHTUBTIϩάऩूϩάՄࢹԽ,JCBOB &MBTUJD4FBSDI
ಋೖ
ಋೖ͋Δ
ಋೖεϐʔσΟʔʹWBS@EVNQΛॻ͍ͨΓফͨ͠Γ͢ΔएखΛܸɻ
ಋೖఆৗతͳͱ͔ͷνΣοΫϩάग़ྗͷ͕ศརΑͱ͑Δɻ
ಋೖ·ͬͨ͘ϐϯͱདྷͯͳ͍ͷΛ؍ଌ
ಋೖϩάग़ྗʹ͍ͭͯतͤͶʂ
ಋೖࢥ͍ฦͯ͠ΈΔͱɻࣗϩάग़ྗͷํ๏ͱ͔शͬͨ͜ͱͳ͍ɻงғؾͰग़ྗ͍ͯ͠Δʜ
ಋೖϩάग़ྗͷΞϨίϨΛ·ͱΊͯνʔϜͷڞ௨ೝࣝΛ࡞Γ͍ͨσόοάγεςϜӡ༻ʹ͓͚Δڧ͍ثʹͳΔ
0VUMJOF8IBUJTMPHHJOH8IZZPVMPH)PXZPVMPH3JTLPGMPHHJOH8IBUZPVTIPVMEQSFQBSF
ϩάग़ྗͱʁ-PHHJOHJTUIFBDUPGLFFQJOHBMPH-PHpMF8JLJQFEJBใMPHΛͲ͔͜ʹग़ྗ͢Δ͜ͱఆٛ؇͍ʜ
ϩάग़ྗʹؔΘΔ༷3'$TZTMPHͷ༷͔͜͜Β৭ʑͱੜ143-PHHFS*OUFSGBDF
ϩάग़ྗʹؔΘΔ༷3'$TZTMPHͷ༷͔͜͜Β৭ʑͱੜ143-PHHFS*OUFSGBDF1)1FS.VTU3FBE
143ͷ֓ཁͭͷ༷͍ͷͰͥͻ࣮ࡍʹಡΜͰ΄͍͠IUUQTXXXQIQpHPSHQTSQTS
143ͷ֓ཁ#BTJDT3'$४ڌͭͷϩάϨϕϧͭͷग़ྗϝιου
ϩάϨϕϧͱʁEFCVHJOGPOPUJDFXBSOJOHFSSPSDSJUJDBMBMFSUFNFSHFODZॏେ
ϩάϨϕϧͱʁEFCVHJOGPOPUJDFXBSOJOHFSSPSDSJUJDBMBMFSUFNFSHFODZ-0(@-&7&-XBSOJOHग़ྗ͞Εͳ͍
143ͷ֓ཁ.FTTBHFϝοηʔδTUSJOH͔@@UP4USJOH Λ࣮ͨ͠PCKFDUͦ͏Ͱͳ͚ΕɺதΛTUSJOHʹΩϟετϝοηʔδิ
143ͷ֓ཁ$POUFYUDPOUFYUʹԿΛ͞Ε͍͔ͯͳΔྫ֎UISPX͠ͳ͍ɻ·ͨFSSPSXBSOJOHOPUJDFग़͞ͳ͍&YDFQUJPOΦϒδΣΫτAFYDFQUJPOAͱ͍͏LFZ໊Ͱηοτ͢Δ
143ͷ֓ཁ)FMQFSDMBTTFTBOEJOUFSGBDF1TS४ڌͷ-PHΫϥεɺΠϯλϑΣʔεɺτϨΠτͷઆ໌
Կނϩάग़ྗΛߦ͏ͷ͔ʁQSJOUσόοά͡Όବͳͷ͔ʁ
QSJOUσόοάൃݟతख๏ ώϡʔϦεςΟοΫݟ͕͍͍ͭͯΔݪҼͷߜࠐ5SZ&SSPSͷͯͬͱΓૣ͍ํ๏
QSJOUσόοάͷ࠶ݱੑʹ͍͠QSJOUফ͠Ε͖ͬ͞ॻ͍ͨWBS@EVNQ͏ແ͍ͳΜ͔ը໘ͷࠨ্ʹग़ͯΔʜ
QSJOUσόοάͷಉ͜͡ͱͷ܁ฦຊ൪ڥͰແཧ-B[JOFTTҧͷ෮QSJOUWBS@EVNQग़ͤ·ͤΜʜ
QSJOUσόοάͷΞϓϦέʔγϣϯͷӨڹQSJOUͱFYJUͷ߹ͤ'SBNF8PSLͷऴॲཧΛ։ൃڥʹ͓͍ͯɺ࠶ݱͮ͠Β͍ඍົͳόάΛੜΈग़͢
ϩάग़ྗͷಛ࠶ݱੑ͕͋ΔղੳతͳσόοάઃஔՕॴৗʹಉ༷ʹϩάग़ྗมߋʹΑΔࠩҟΛޙ͔ΒղੳՄೳ
͜Μͳ࣌ϩάग़ྗৗʹ֬ೝ͍ͨ͠ใόονͷ࣮ߦใຊ൪ڥͰݟ͍ͨใ
ৗʹ֬ೝ͍ͨ͠ใWJFXςϯϓϨʔτʹͨ͠"1*ݺͼग़͠ͷ։࢝ɾऴ࣮ྃߦͨ͠42-ͱύϥϝʔλ
ຊ൪ڥͰݟ͍ͨใ։ൃڥͰ࠶ݱ͠ͳ͍ෆ۩߹ͷݕূϩά߈ܸݕϩά -PHJO߈ܸܦྼԽ͕༧ଌ͞ΕΔՕॴͷܭଌϩά
όονͷ࣮ߦใ։࢝࣌ؒɾऴྃ࣌ؒ"#&/%࣌ͷఀࢭՕॴॲཧ݅࠶࣮ߦίϚϯυ͜ΕຊʹΦεεϝɻ
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ143४ڌՄೳͳϥΠϒϥϦʔ.POPMPH;FOE-PHHFSϑϨʔϜϫʔΫ͕ఏڙ͢ΔϩΨʔϩάΛૉʹग़ͤΔͳΒɺ143ඇ४ڌͰྑ͍
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁΦϨΦϨϩΨʔବ͔ʁษڧͷͨΊͷंྠͷ࠶ൃ໌0,Ͱຊ൪ར༻Ί·͠ΐ͏
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁੜͰFSSPS@MPHؔͱ͔/(ͨͩ͠ɺօʹ߹ͬͯͷ͕͋Δ͜ͱࢲཧղ͍ͯ͠Δ͍Θ͕ͣͳ͔ΓΈ͕͋Δ
Ͳ͏ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ͓ߦّͷѱ͍ϩάग़ྗఫڈ͕جຊඃ͕গͳ͍͏ͪʹखΛଧ͍ͬͯ͜͏ͱ͍͑ͷϑΥʔϚοτͱ͔ͰϞχϣΓͨ͘ͳ͍
ϩάग़ྗͷϦεΫϩάग़ྗʹཱͭͨͩ͠ɺϦεΫΛ಄ʹೖΕ͓ͯ͘ඞཁ͕͋Δ
ϦεΫใ࿙͍͑ΞϓϦέʔγϣϯ࣮ߦͷϩάग़ྗͷઃఆϛεҙਤ͠ͳ͍ݸਓใऩू
ใ࿙͍͑εϥυIUUQTTFDVSJUZTSBEKQTUPSZ
ྫ͑͜Μͳίʔυ%#Ͱύεϫʔυ҉߸Խͯͯ͠ແ͠
ΞϓϦέʔγϣϯ࣮ߦͷΤϥʔൃੜ࣌ͷϩάΛϝʔϧૹ৴όάϦϦʔεͰେྔͷΤϥʔϝʔϧϝʔϧૹ৴Ͱ٧·ͬͯʜΤϥʔൃੜ࣌ͷϩάΛ4MBDLͰૹ৴όάϦϦʔεͰSZ·͞ʹΧΦε
ઃఆϛεEFCVHϩά͕ຊ൪Ͱग़ͬͺͳ͠େͳྔͷϩάग़ྗΫΤϦύϥϝʔλʔʜૠೖɾߋ৽σʔλ͕શ෦࿙Ӯ͍ͯ͠ΔͷͱҰॹ
ઃఆϛεϩάΛ༗ޮ׆༻͢ΔϩάϨϕϧͷઃఆϛε͕க໋ই
ઃఆϛεݟ͍ͨ࣌ʹϩά͕ͳ͍ϦϦʔεͰϩάϑΝΠϧ͕ॻόάमਖ਼ޙʹݕূෆՄೳϩάͷग़ྗઌΞϓϦσΟϨΫτϦ֎ʹ
ઃఆϛεΠϯϑϥͷ͓͡͞ΜΞϓϦέʔγϣϯϩάकඋൣғ֎ࣗͷࣗͰकΕ
ݸਓใݸਓใ͕ϩάʹग़ྗ͞Ε͍ͯΔ߹(%13ͷേଇॏ͍ͨϓϥΠόγʔϙϦγʔͷهࡌʁϢʔβ͕ಉҙͯ͠ͳ͍ར༻/(
ݸਓใҙਤͤͣʹߦಈϩάΛऩूͯ͠͠·͍ͬͯͳ͍͔ʁόϨͳ͚Εྑ͍ͱ͍͏Ͱͳ͍ɻ
ҙ͖ࣝ͢ॏཁࣄ߲ϩάग़ྗͰ͍͔ͳΔσʔλ࿙ӮՄೳϩάϑΝΠϧͷةݥੑΛཧղ͍ͯ͠ͳ͍ͱॏେͳଛࣦΛҾ͖ى͜͢Մೳੑ͍ͯ͠ΔΞϓϦಛʹҙ
͜͏͍͏ίʔυʹԠ͢ΔΑ͏ʹʂ͍ใΛEFCVHҎ֎Ͱग़ྗ
͜͏͍͏ίʔυʹԠ͢ΔΑ͏ʹʂઃఆϛεͰҰൃπϞͦ͠͏ͳϩά
ͰͲ͏͠Ζͱʁ͏ϩάͳΜͯग़ྗ͠ͳ͍΄͏͕ʜͦΕҰͭͷਖ਼ղͱͯ͠ΞϦ
ԿΛܾΊ͓͚͍͍ͯͷ͔ʁΞϓϦέʔγϣϯ։ൃ࣌ΞϓϦέʔγϣϯӡ༻࣌ͦΕͧΕͷܾΊ͝ͱϩάઃܭ
ΞϓϦέʔγϣϯ։ൃ࣌ͷܾΊ͝ͱ-PHHFSͷબఆ.FTTBHFͷϧʔϧجຊػೳʹେࠩແ͍ͷͰɺঢ়گʹ߹Θͤͯॊೈʹɻ-PHHFS͍ͬͯΕେ·͔ͳϑΥʔϚοτ߹͍ͬͯΔ·ͣ։ൃऀͤͰྑ͍͔
ΞϓϦέʔγϣϯ։ൃ࣌ͷܾΊ͝ͱڞ௨ग़ྗ༰όονϩάͷग़ྗϑΥʔϚοτ3FBENFʹॻ͍͓͍ͯͯ͋͛·͠ΐ͏ɻΫΤϦϩάɺWJFXύϥϝʔλమ൘ͰཱͭͷͰ࡞Γ·͠ΐ͏ɻ
ΞϓϦέʔγϣϯӡ༻࣌ͷܾΊ͝ͱڥຖͷϩάϨϕϧϩάϑΝΠϧͷϩʔςʔγϣϯɺӬଓԽํ๏։ൃڥEFCVH ຊ൪ڥXBSOJOHΞϓϦέʔγϣϯΤϯδχΞͷʂޙͰղੳͰ͖ΔΑ͏ʹ͓ͯ͘͜͠ͱ
ΞϓϦέʔγϣϯӡ༻࣌ͷܾΊ͝ͱϩάϨϕϧઃఆͷϑΣʔϧηʔϑϏϧυ࣌ʹEFCVHϨϕϧͷϩάΛআ%*Ͱۭϩάग़ྗ࣮ʹସϩάग़ྗઌͱग़ྗํ๏ϝʔϧ4MBDLϒϩοΩϯά͠ͳ͍ํ๏ಉ͡༰ͷΤϥʔϩάͷग़ྗ੍
·ͣ࠷ݶ͔Βग़དྷͨͯͷΞϓϦͰᘳΛࢦ͢ͷແཧΞϓϦͷϑΣʔζʹ߹ΘͤͯɺϦεΫͱ্खʹௐ͍ͯ͘͜͠ͱ͕ॏཁ
·ͱΊएखΤϯδχΞͷํϩάग़ྗΤϥʔͷݕͱղੳΛߦ͏ڧྗͳखஈ࡞๏ʹͷͬͱΓͭͭੵۃతʹ׆༻͠·͠ΐ͏
·ͱΊதݎΤϯδχΞͷํ͋ͳͨͷΞϓϦέʔγϣϯͷϩάେৎͰ͔͢ʁυΩυΩͯͨ͠Βਅͳӡ༻Λߟ͑·͠ΐ͏ɻ
ૉఢͳϩάग़ྗੜ׆Λʂ