PHPカンファレンス福岡2023 https://phpcon.fukuoka.jp/2023/
スポンサーセッション(11:30〜) https://fortee.jp/phpconfukuoka-2023/proposal/df5f06e8-900e-4e71-94d7-d0c3cc57a0ac
גࣜձࣾ'VTJDԬቌ༤ฏ1)1ΧϯϑΝϨϯεԬεϙϯαʔηογϣϯҭྗ🐯ΤϯδχΞͷ࠽ೳΛҾ͖ग़͢ڥͱνϡʔλʔͷཱͪճΓ
View Slide
ࣗݾհ• ॴଐ• גࣜձࣾ'VTJD*P5νʔϜ• ϑΟϤϧυϒʔτΩϟϯϓϝϯλʔ• ଐੑ• ීஈϝΠϯͰѻ͏ϓϩάϥϛϯάݴޠ3VCZ• ϓϩٿͰԠԉ͍ͯ͠Δٿஂʮދͷٿஂ🐯ʯ• ೝఆࢿ֨*P5ΫϥυΤϯδχΞԬ ቌ ༤ ฏ0 L B [ B L J : V I F J
wຊࢿྉͰࢀߟจݙͷಋઢͱͯ͠23ίʔυΛར༻͍ͯ͠·͢w ඞཁʹԠ͓ͯ͡खݩͷεϚʔτϑΥϯͰಡΈࠐΜͰ͍ͩ͘͞wຊࢿྉൃදऴྃޙʹެ։͠ɺ ࢲͷ5XJUUFSΞΧϯτͰΞφϯε༧ఆͰ͢εϥΠυࢿྉʹ͍ͭͯ!:@VVV
1)1ΧϯϑΝϨϯεԬʹͿΓճͷొஃ• લճʮࢠҭͯͱεΩϧΞοϓΛཱ྆͢ΔΤϯδχΞͷੜଘઓུʯ ͱ͍͏ςʔϚͰ͓͠·ͨ͠1)1ΧϯϑΝϨϯεԬͷ :PV5VCFνϟϯωϧͰެ։த
1)1ΧϯϑΝϨϯεԬʹͿΓճͷొஃ• લࣗͷੜଘઓུͰ͍ͬͺ͍͍ͬͺ͍• ܦͬͯޙഐͷੜଘઓུߟ͑Δඞཁ͕Ͱ͖ͯͨ1)1ΧϯϑΝϨϯεԬͷ :PV5VCFνϟϯωϧͰެ։த
ຊηογϣϯͰ͢͜ͱ GSPN$'1ʻୈஈམׂѪ🙏ʼΑ͘ϓϩٿͷίϝϯςʔλʔ͕ʮʓʓٿஂҭྗ͕ߴ͍ʯͱ͍ͬͨݴ͍ճ͠Λ͠·͢ɻҭྗͷ͋Δٿஂఆظతʹ৽͍͠બख͕Ұ܉ʹ্͕͖ͬͯͯɺଞͷબखͱ᛭ୖຏ͍ͯ͠·͢ɻඞͣ͠Λ͢ͱݶΓ·ͤΜ͕ɺҭྗͷߴ͍ٿஂͷࢼ߹Ͳ͔͜ϫΫϫΫͤ͞ΒΕ·͢ɻ'VTJDҭྗ͕ߴ͍ձࣾͰ͢ɻελʔτ͕όϥόϥͰɺೖ͔ࣾΒҎʹୈҰઢͰΤϯδχΞͱͯ͠όϦόϦ׆༂͍ͯ͠·͢ɻͰ'VTJDͷҭྗͷىݯԿͰ͠ΐ͏͔ʁͲ͏͢ΕΑΓҭྗͷ͋ΔձࣾʹͳΔͷͰ͠ΐ͏͔ʁຊηογϣϯͰҭྗΛςʔϚʹɺࢲ͕ࢼߦࡨޡ͖ͯͨ͜͠ͱΛ͓͠·͢ɻ
'VTJDYҭྗ
࣍ 'VTJDʹ͓͚Δ৽ਓݚम ࣾγεςϜ։ൃ νϡʔλʔͷཱͪճΓʹ͓͚ΔϙΠϯτ ͓ΘΓʹ
'VTJDʹ͓͚Δ৽ਓݚम
৽ਓݚमͷతͱରwతw ։ൃʹεϜʔζʹδϣΠϯͰ͖Δঢ়ଶʹͳͬͯΒ͏w ༩͑ΒΕͨ՝ΛλεΫʹམͱ͠ࠐΈɺࣗͰ͖Δঢ়ଶʹͳ͍ͬͯΔ։ൃೖࣾ ৽ਓݚमεϜʔζʹδϣΠϯ͍ͤͨ͞
৽ਓݚमͷతͱରwରw ରͱͳΔͷ৽ଔɾத్Θͣɺ৽ͨʹೖࣾͨ͠ΤϯδχΞͰ͢w ͨͩ͠ɺೖࣾ࣌Ͱ։ൃʹඞཁͳεΩϧΛطʹ͍࣋ͬͯΔਓʹରͯ͠ ৽ਓݚमΛߦΘͳ͍͜ͱ͋Γ·͢։ൃೖࣾ ৽ਓݚमೖࣾ
৽ਓݚमͷྲྀΕ'VTJDͷ৽ਓݚमͰҎԼͷΑ͏ͳ͜ͱʹऔΓΜͰΒ͍·͢wϓϩάϥϛϯάݴޠwϑϨʔϜϫʔΫwσʔλϕʔε42-wΫϥυwࣾγεςϜ։ൃ˞ৄࡉޙड़डୗ։ൃʹඞཁͳثΛ͢Πϝʔδظؒʙϲ݄
νϡʔλʔͷଘࡏͱׂ৽ਓݚमͷظؒதνϡʔλʔ͕৽ਓͱ͠·͢৽ਓʹରͯ͠νʔϜ͔ΒਓҎ্ͷνϡʔλʔ͕ΞαΠϯ͞Ε·͢νʔϜϝϯόʔ ৽ਓνϡʔλʔ
νϡʔλʔͷଘࡏͱׂνϡʔλʔͷׂେ͖͘Ͱ͢wࣾͷϧʔϧɺΧϧνϟʔΛ͑Δw৽ਓݚमͷαϙʔτΛ͢Δ
ࢲͷνϡʔλʔྺʙʹ໊͔͚ͯͷΤϯδχΞͷνϡʔλʔΛ͠·ͨ͠৽ଔ)܅ݚमظؒʙ݄த్,͞Μݚमظؒʙ݄த్.͞Μݚमظؒʙ݄
ࢲͷνϡʔλʔྺਓͱɺೖࣾ࣌ͰͷεΩϧײ࣋ͪ߹Θ͍ͤͯΔଐੑόϥόϥͰ͢৽ଔ)܅ߴઐ࣌ʹϩϘίϯΛܦݧ$ݴޠॻ͚Δ8FCΫϥυະܦݧத్,͞ΜϑϥϯεͰࣄۀاըϚʔέςΟϯάΛ͍ͯͨ͠*5ͷ࣮ܦݧͳ͠த్.͞Μεύίϯӡ༻ɾཧιϑτͷ։ൃۀܦݧ͋Γ8FCΫϥυະܦݧ
'VTJDͷ৽ೖࣾһͷಛwඇৗʹݸੑతͰɺಠࣗͷࢹͩ͜ΘΓΛ࣋ͪ߹Θ͍ͤͯΔwݴΘΕͨ͜ͱΛͨͩΔͷۤखͰɺࣗͰߟ͑ͯߦಈ͕ͨ͠Δ
ۚଠѿํࣜͷ৽ਓݚमϚον͠ͳ͍wͦͷਓʹ߹ΘͤͨΧϦΩϡϥϜΛ༻ҙ͢Δඞཁ͕͋Δwຊਓ͕ࣗൃతʹਐΊ͍ͨͱࢥ͑Δڥ࡞ΓඞཁwνϡʔλʔखऔΓऔΓڭ͑ΔͷͰͳ͘ɺ͋͘·ͰαϙʔτΛ͢Δ
ࣾγεςϜ։ൃ
ࣾγεςϜ։ൃͱw৽ਓݚमͷϥεϘεతଘࡏwݚमظؒͷϥετʙϲ݄ΛͬͯࣾγεςϜΛ։ൃ͢Δw࣮ࡍͷडୗҊ݅͞ͳ͕Βͷ;Θͬͱ͓ͨ͠ͷΈ͕ࣔ͞ΕΔڅਫثͷϘτϧ͕ʑރׇ͢Δ͔ΒͳΜͱ͔ͯ͠΄͍͓͠٬༷ͷ νϡʔλʔ৽ೖࣾһ
ྫΥʔλʔαʔόʔϘτϧࢹ*P5wγεςϜ໊ετοΫ൪wମॏܭΛվͨ͠σόΠε͕ϘτϧͷྔΛʑࢹwྔ͕গͳ͘ͳͬͯ͘Δͱ4MBDLʹ௨͕དྷͯɺͦͷ··ൃͰ͖Δৄࡉͪ͜Β
ྫΥʔλʔαʔόʔϘτϧࢹ*P5ৄࡉͪ͜Β
ൃදձͷ༷ࢠwγεςϜ͕ͨ͠ΒൃදձΛ։࠵w ༩͑ΒΕ͓ͨʹରͯ͠Ͳ͏ߟ͑ͯԿΛ࡞ͬͨͷ͔հ͢Δw ൃදձޙɺγεςϜ࣮ӡ༻
ࣾγεςϜ։ൃʹडୗ։ൃͷ༧ߦԋशw͓٬༷ͱରΛ͠ͳ͕ΒʮຊʹٻΊ͍ͯΔͷʯΛҾ͖ग़͢wҾ͖ग़ͨ͠ཁٻΛͲ͏۩ମԽ͢Δ͔ߟ͑Δw࣮ࡍʹ࡞Δˠ࡞ͬͨͷΛઆ໌͢Δڧ͍ΤϯδχΞ͕ҭͭʂ
νϡʔλʔͷཱͪճΓʹ͓͚Δ ϙΠϯτ
ϙΠϯτͭʂ ࠷ॳʹݚमͷΰʔϧૂ͍Λࣔ͢ ཧղΛଌΔ՝Λઃ͚Δ ݚमΛΓΔͨΊʹඞཁͳࣾһΛհ͢Δ ίϛϡχέʔγϣϯͰ͖ΔΛͨ͘͞Μ༻ҙ͢Δ ຊਓͷʮΓ͍ͨʯΛଚॏ͢Δ
࠷ॳʹݚमͷΰʔϧૂ͍Λࣔ͢wΰʔϧૂ͍Λࣔ͠ɺਐΊํεέδϡʔϧ৽ਓʹҕͶΔ݄ λεΫ ࢀߟจݙɾਤॻʙ݄ 3VCZͷษڧ 1SPHBUF ϓϩΛࢦ͢ਓͷͨΊͷ3VCZೖ42-ͷษڧ 1SPHBUF+BWB4DSJQUͷษڧ +BWB4DSJQU1SJNFS3BJMTͷษڧ 3BJMTνϡʔτϦΞϧ3FBDUͷษڧ 'VMM4UBDL0QFO݄ "844""ͷࢼݧษڧ "84ͷجૅผ్ߨٛ༧ఆγεςϜ։ൃ ৄࡉͬͯڞ༗ྫݚमظؒதʹษڧͯ͠ཉ͍͜͠ͱҰཡΛఏࣔ
࠷ॳʹݚमͷΰʔϧૂ͍Λࣔ͢wΰʔϧૂ͍Λࣔ͠ɺਐΊํεέδϡʔϧ৽ਓʹҕͶΔྫࣾγεςϜ։ൃͷ͓ਫλϯΫΛҡ࣋ͤΑ'ࣾʹࣾһ͕ࣗ༝ʹར༻Ͱ͖ΔΥʔλʔαʔό͕ઃஔ͞Ε͍ͯΔɻΥʔλʔαʔόλϯΫࣜͰɺ'ࣾͰෆఆظʹ·ͱ·ͬͨݸͷλϯΫΛൃ͍ͯ͠Δɻൃ͔Βೲ·ͰҰఆظؒΛཁ͢ΔͨΊɺλϯΫͷݸ͕ݸͱͳͬͨ࣌Ͱ୲ऀ͕ൃ͢Δɻ͔͠͠ɺ୲ऀ͕֬ೝΛΕ͍ͯͨΓఆҎ্ʹλϯΫͷݮΓ͕ૣ͔ͬͨΓͱ͍ͬͨཧ༝ͰɺλϯΫ͕ރׇ͢ΔΠϯγσϯτ͕ʹճൃੜ͍ͯ͠Δɻ'ࣾͰΠϯγσϯτͷ࠶ൃΛࢭ͘͢ɺ༧ࢉΛೖͯ͠γεςϜΛ։ൃ͢Δ͜ͱʹ͠·ͨ͠ɻͲͷΑ͏ͳํ๏ɺΞʔΩςΫνϟɺཁૉٕज़Ͱ͜ΕΛ࣮ݱ͠·͔͢ʁ
࠷ॳʹݚमͷΰʔϧૂ͍Λࣔ͢wࣗʹ͋ͬͨΓํΛࡧ࣮͠ફ͢ΔΑ͏ʹͳΔ͍Ζ͍Ζͳ͜ͱΛಉ࣌ʹਐΊΔํ͕ࣗʹ߹͍ͬͯΔͱߟ͑ͯ࡞ΒΕͨఔද
࠷ॳʹݚमͷΰʔϧૂ͍Λࣔ͢wઌಡΈͯ͠ೳಈతʹಈ͚ΔΑ͏ʹͳΔ৽ਓݚमिͷ࣌ͰɺਫλϯΫͷྔΛѲ͢Δํ๏Λݕ౼࢝͠Ί͍ͯΔ
ཧղΛଌΔ՝Λઃ͚ΔwΞτϓοτͷͱͯ͠՝ʹऔΓΜͰΒ͏w ؆୯ͳήʔϜ$-*Λ࡞ͬͯΒ͏͜ͱ͕ଟ͍+BWB4DSJQU ҆िؒඞֶͣΜͰཉ͍͜͠ͱw+BWB4DSJQUͷจ๏ దٓ+BWB4DSJQU1SJNFSΛࢀরw&4-JOUQSFUUJFSͷΠϯετʔϧɾઃఆ՝ϒϥβήʔϜίωΫτϑΥʔΛ࡞͍ͬͯͩ͘͞w3FBDUΘͳ͍ఆͰ͕͢ɺͬͯྑ͍Ͱ͢wͭҎ্ͷΫϥεΛઃ͚ͨɺΦϒδΣΫτࢦઃܭʹ͍ͯͩ͘͠͞ྫΞτϓοτͷΛ࡞ΔͨΊͷ՝
ཧղΛଌΔ՝Λઃ͚Δw࡞Δ͜ͱ͕Ұ൪ͷֶͼʹͳΓɺϑΟʔυόοΫಘΒΕΔ
ݚमΛΓΔͨΊʹඞཁͳࣾһΛհ͢ΔwࣗҰਓͰղܾ͠Α͏ͱ͠ͳ͍w"84ΞΧϯτΛࢧڅ͠·͢ɻࣗ༝ʹͬͯΒͬͯߏ͍·ͤΜɻw .͞Μɺ*͞Μɺ0"84ͷ4"1 %01ͷࢿ֨อ༗ऀͰ͢w 0͞Μɺ+͘Μ"84ͷ4""ࢿ֨อ༗ऀͰ͢wࢢൢͷػثύʔπΛߪೖ͢Δ͜ͱՄೳͰ͢w )͘ΜʹσόΠε ճ࿏ઃܭؚΉΛґཔ͢Δ͜ͱՄೳͰ͢w 403"$0.ɺNPDLNPDLͱ͍ͬͨ֎෦αʔϏεΛར༻ͯ͠0,Ͱ͢ྫࣾγεςϜ։ൃʹ͓͍ͯ༻Ͱ͖ΔϦιʔεΛ͑Δ
ݚमΛΓΔͨΊʹඞཁͳࣾһΛհ͢ΔwඞཁʹԠͯ͡पғΛר͖ࠐΊΔΤϯδχΞʹͳΔձࣾͰआΓͨాΜ΅ʹઃஔ͢Δ*P5γεςϜΛνʔϜΛר͖ࠐΜͰ։ൃ͍ͯ͠Δ༷ࢠৄࡉͪ͜Β
ίϛϡχέʔγϣϯͰ͖ΔΛͨ͘͞Μ༻ҙ͢Δw࣮֬ʹձ͕Ͱ͖Δ࣌ؒΛ༧ΊܾΊ͓ͯ͘wใνϟϯωϧΛ࡞ΔྫใνϟϯωϧྫΦϑϥΠϯͰͷྠಡձˍேϛྫΦϯϥΠϯͰͷேϛ
ίϛϡχέʔγϣϯͰ͖ΔΛͨ͘͞Μ༻ҙ͢Δw࣮֬ʹձ͕Ͱ͖Δ࣌ؒΛ༧ΊܾΊ͓ͯ͘͜ͱͰɺ ͦͷ࣌ؒʹॏཁͳ࣭Λ࣋ͪدΔΑ͏ʹͳΔྫ༦ྱલʹϦετΞοϓ͞Ε࣭ͨ
ίϛϡχέʔγϣϯͰ͖ΔΛͨ͘͞Μ༻ҙ͢Δwใνϟϯωϧ͕͋Δ͜ͱͰɺ࣭͍ۭ͢͠ؾײ͕ৢ͞ΕΔʮձΛٻΊ·͢ʯ͕ ؾܰʹΘΕ͍ͯΔ
ຊਓͷʮΓ͍ͨʯΛଚॏ͢Δw৽ਓ͕ʮΓ͍ͨʯͱݴͬͨ͜ͱجຊతʹΒͤΔྫ*46$0/ʹࢀՃ͢Δฐࣾࣾһͨͪྫࣗ࡞ΩʔϘʔυΛ࡞த
ຊਓͷʮΓ͍ͨʯΛଚॏ͢ΔwΓ͍ͨ͜ͱΛ͍ͬͯΔ͕࣌Ұ൪͢Δ+BQBO"84+S$IBNQJPOTΛ डͨ͠एखࣾһ
ຊਓͷʮΓ͍ͨʯΛଚॏ͢ΔwΓ͍ͨΛޙԡ͢͠Δ੍։ൃ߹॓w ΦϑΟεΛඈͼग़ͯ͠ɺ࡞Γ͍ͨͷΛࣗ༝ʹ։ൃ
ຊਓͷʮΓ͍ͨʯΛଚॏ͢ΔwΓ͍ͨΛޙԡ͢͠Δ੍ॻ੶ߪೖิॿ੍w ٕज़ॻϏδωεॻͷߪೖඅ༻Λձ͕ࣾࢧԉྑॻ୳ٻձఆظతʹ ։࠵͞Ε͍ͯ·͢
ຊਓͷʮΓ͍ͨʯΛଚॏ͢ΔwΓ͍ͨΛޙԡ͢͠Δ੍ࢿ֨औಘࢧԉ੍w ࢿ֨औಘͨ͠ࡍͷडݧඅ༻Λࢧԉ ͓ॕ͍͕ۚࢧڅ͞ΕΔࢿ֨ʂ༗ࢿ֨ऀ͕૿͑ͨ݁Ռɺ"84ͷଟडʂ
͓ΘΓʹ
'VTJDͷҭྗͷࠜݯ'VTJDɺڞʹಇؒͨͪ͘ͷਓੜʹ͓͍ͯɺ ͍ͭଟ༷ͳબࢶ͕ଘࡏ͍ͯ͠ΔͰ͋Γ͍ͨɻ ͦͯ͠ɺ͞·͟·ͳΧυΛ࣋ͬͨݸੑ͕ࠞ͟Γ߹͍ɺ ຏ͔ΕΔͰ͋Γ͍ͨɻ ൈਮ.JTTJPO ଘࡏҙٛ
·ͱΊwҭྗͷߴ͍ձࣾͲ͔͜ϫΫϫΫͤ͞ΒΕ·͢ͶwΈͳ͞·͕ޙഐΛҭ͢ΔࡍɺࢀߟʹͳΕ͍Ͱ͢ɻࠓͷ৽ೖࣾһ ৽ਓݚमʹऔΓΜͰ͍·͢ʂ
એ
໌։࠵ͷඇެࣜΠϕϯτʂwϏʔϧҿΜͰɺҰॹʹָ͠Έͳ͕Βٕज़ωλΛڞ༗͢ΔΠϕϯτͰ͢ʂৄࡉɾ͓ਃ͠ࠐΈͪ͜Β
ฐࣾΤϯδχΞʹΑΔΦϯϥΠϯٕज़Πϕϯτͦͷw*P5νʔϜʹΑΔٕज़ൃද͕༧ఆ͞Ε͍ͯ·͢ʂৄࡉɾ͓ਃ͠ࠐΈͪ͜Β
ฐࣾΤϯδχΞʹΑΔΦϯϥΠϯٕज़Πϕϯτͦͷw1)1FSʹΑΔ1)1ΧϯϑΝϨϯεԬͷ༨ӆΛָ͠ΉΠϕϯτͰ͢ʂৄࡉɾ͓ਃ͠ࠐΈͪ͜Β
5IBOLZPV'VTJDͰҭ͞Ε͍ͨΤϯδχΞҭ͍ͨ͠ΤϯδχΞઈࢍืूதͰ͢ʂ