PHPカンファレンス福岡2017 のスポンサーセッションで話した内容です。 いずれyoutube に上がるらしいです。
גࣜձࣾ'VTJD ٕज़։ൃ෦ج൫Ϣχοτᖛହ໌ !HPSPHPSPZBTVʲϓϥνφεϙϯαʔηογϣϯʳ৽ଔ͕αʔϏε։ൃͷࡍʹΓӽ͑ͨ՝ͱͦͷղ๏ͳͲ
View Slide
ᖛହ໌UXJUUFS!HPSPHPSPZBTV ·ͷHJUIVCHJUIVCDPNHPSPHPSPZBTVGBDFCPPLᖛହ໌ࣗݾհ ݸਓ݄ʹ৽ଔͰೖࣾͪΐͬͱͷؒʹֶΜͩ͜ͱΛൃද͠·͢ɻ
ࣗݾհ ձࣾ'VTJDͰɺٕज़͕େ͖ͳΤϯδχΞΛืू͍ͯ͠·͢
ࣗݾհ ࣗࣾαʔϏε
ࣗݾհ ࣗࣾαʔϏε࡞ͬͨਓ
ࣗݾհ ࣗࣾαʔϏεʴ ʹಧ͘࿈བྷ
ࣗݾհ ࣗࣾαʔϏεͷߏʴ ʹಧ͘࿈བྷ
ࣗݾհ ࣗࣾαʔϏεʴ ʹಧ͘࿈བྷɾ$BLF1)1Λͬͯ։ൃɾ1)1ɾొஃऀͱɺҰૣ͘ೖͬͨઌഐΤϯδχΞ͕ओʹ։ൃTJHGZ։ൃͷࡍʹΓӽ͑ͨ՝ͱͦͷղ๏
TJHGZͷνʔϜհϚωʔδϟʔϓϩμΫτΦʔφʔ1.0ͷਓӦۀͱ͔ΤϯδχΞ ࣌ؖࠃਓ ຊޠΕΔ৽ଔΤϯδχΞ ࣌ొஃऀاըͱ͔ํͱ͔࣮୲
ҙࣄ߲ຊηογϣϯͰɺ৽ଔͰೖࣾͨ͠ɺϓϩάϥϛϯάະܦݧͷएऀ͕ɺͲΜͳ՝ΛͲͷΑ͏ʹղܾ͔ͨ͠Λޠ͍͖ͬͯ·͢ɻͦΕΒΛ͝ঝͷ্ɺ͓ฉ͖ͩ͘͞Εͱࢥ͍·͢ɻ
͠ʮ͜͏ͨ͠ํ͕͍͍Αʯͱ͔͋Εɺڭ͍͚͑ͯͨͩΔͱେม͋Γ͕͍ͨͰ͢ʂ࠙ձʹߦ͖·͢ɻ·ͨɺd"TLUIF4QFBLFSʹ͍Δ༧ఆͳͷͰɺੋඇ͓ӽ͍ͩ͘͠͞ʂҙࣄ߲
ൃදͷ࣍1)11)1HJUDMPOFσϓϩΠπʔϧͷಋೖίϚϯυૢ࡞σϓϩΠͷࣗಈԽେྔ৴
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.php1)1ͷ΄͏͕͚ͩαϙʔτ͕͍ɻ
1)11)1࣮ࡍʹͬͯΈͨҠߦʹ͔͔ͬͨ࣌ؒڥߏங࣮࣌ؒͷมߋ΄ͱΜͲͳ͠ʂײڥߏஙɺׂͱ໘ͩͬͨɻ͕ɺ࣮ࡍʹॻ͍͍ͯͨίʔυ΄΅ͦͷ··ಈ͍ͨʂ༻͍ͯ͠Δ'8 ϥΠϒϥϦ͕ରԠ͍ͯͨ͠ͷ͕େ͖͔ͬͨʂײँ͍ͯ͠·͢ʂ
1)11)1͘ͳͬͨɺ͜͜Ͱ͞ͳ͍ͷͰɺ͝ڵຯͷ͋Δํ࠙ձͰΛ͔͚͍ͯͩ͘͞ʂࠓͷൃදɺόʔδϣϯΞοϓͷ͕ଟ͘ɺָ͠ΈͰ͢ʂ'VTJDϗʔϧd 'VTJDϗʔϧd %ϗʔϧdଞʹ͋ͬͨΒ͝ΊΜͳ͍͞
ൃදͷ࣍1)11)1ऴΘΓHJUDMPOFσϓϩΠπʔϧͷಋೖίϚϯυૢ࡞σϓϩΠͷࣗಈԽେྔ৴
HJUDMPOFσϓϩΠπʔϧͷಋೖσϓϩΠπʔϧΛಋೖ͍ͯ͠·͔͢ʁॳTJHGZͰɺಋೖ͞Ε͍ͯ·ͤΜͰͨ͠ɻ͔͠͠ɺςετڥΛ࣮ࡍʹӡ༻ͯ͠Έͯɺͦͷෆศ͞ʹؾ͍ͮͯ͠·ͬͨͷͰ͢ɻ
HJUDMPOFͷ࣍ σϓϩΠखॱ͕ࡶ ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍HJUDMPOFσϓϩΠπʔϧͷಋೖ
σϓϩΠखॱ͕ࡶ ςετڥ༻ͷϒϥϯνΛ࡞QVTI ϩʔΧϧ͔ΒϦϞʔτ44) ಛఆͷσΟϨΫτϦҠಈ ϦϞʔτϒϥϯνΛऔͬͯ͘Δ ϒϥϯνΛҠಈ NJHSBUJPOΛ࣮ߦɻCJODBLFNJHSBUJPOTNJHSBUFHJUDMPOFσϓϩΠπʔϧͷಋೖ
ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍TTIQIQDPOGGVLVPLBDEIPHFGVHBHJUTUBUVTCSBODI"CSBODI"ͬͯͳΜ͚ͩͬʁςετڥΛߋ৽͠Α͏ɻHJUDMPOFσϓϩΠπʔϧͷಋೖ
ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍!MFF͍ɺͩΊͰ͢!IBNBOP CSBODI"ͬͯԿʁߋ৽͍͍ͯ͠ʁɻɻɻHJUDMPOFσϓϩΠπʔϧͷಋೖ
!MFF͍ɺͩΊͰ͢!IBNBOP CSBODI#ͬͯԿʁߋ৽͍͍ͯ͠ʁɻɻɻຖճ44)ͯ͠ɺαʔόʔͷঢ়ଶ֬ೝͯ͠ίϛϡχέʔγϣϯɻɻɻςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍HJUDMPOFσϓϩΠπʔϧͷಋೖ
ͬͨͷDBQJTUSBOPSVCZͷπʔϧશͯͷσϓϩΠ͕ίʔυͰཧ͞ΕΔɻઃఆϑΝΠϧॻ͍ͯɺίϚϯυଧ͚ͭͩɻIUUQTEFQMPZFSPSHͪͳΈʹɺ1)1Ͱॻ͔Εͨ%FQMPZFSͱ͍͏πʔϧ͋Γ·͢ɻHJUDMPOFσϓϩΠπʔϧͷಋೖ
σϓϩΠखॱ͕ࡶ ςεταʔόʔͷঢ়گ͕खݩͰ͔Βͳ͍σϓϩΠɺίϚϯυҰൃखݩͷϑΝΠϧΛݟΕঢ়گ͕ѲͰ͖ΔɻϛεͱແԑʹͳΔɻHJUDMPOFσϓϩΠπʔϧͷಋೖ
ઃఆϑΝΠϧͷϛεා͍ɻɻɻઃఆϑΝΠϧΛฤूɺμϒϧνΣοΫͯ͠DBQJTUSBOPͷίϚϯυΛୟ͍ͯσϓϩΠHJUDMPOFσϓϩΠπʔϧͷಋೖͬͨͷDBQJTUSBOPSVCZͷπʔϧશͯͷσϓϩΠ͕ίʔυͰཧ͞ΕΔɻઃఆϑΝΠϧॻ͍ͯɺίϚϯυଧ͚ͭͩɻ
ઃఆϑΝΠϧͷϛεා͍ɻɻɻ՝σϓϩΠʹɺਓతϛε͕ೖΓࠐΉ༨͕͋ΔઃఆϑΝΠϧΛฤूɺμϒϧνΣοΫͯ͠DBQJTUSBOPͷίϚϯυΛୟ͍ͯσϓϩΠݱ࣮HJUDMPOFσϓϩΠπʔϧͷಋೖ
ઃఆϑΝΠϧͷϛεා͍ɻɻɻ՝σϓϩΠʹɺਓతϛε͕ೖΓࠐΉ༨͕͋ΔઃఆϑΝΠϧΛฤूɺμϒϧνΣοΫͯ͠DBQJTUSBOPͷίϚϯυΛୟ͍ͯσϓϩΠݱ࣮HJUDMPOFσϓϩΠπʔϧͷಋೖগ͠ਐΜ͔ͩͳɾɾɾʁ
ઃఆϑΝΠϧͷதHJUDMPOFσϓϩΠπʔϧͷಋೖσϓϩΠ͢ΔCSBODIͷใσϓϩΠ͢Δύεͷใ"84ଓใϥΠϯΛ༻͢Δϑϥάʴ͓٬༷ݻ༗ͷใ
ൃදͷ࣍1)11)1ऴΘΓHJUDMPOFσϓϩΠπʔϧͷಋೖऴΘΓίϚϯυૢ࡞σϓϩΠͷࣗಈԽେྔ৴
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂݱ࣮μϒϧνΣοΫઃఆϑΝΠϧ࡞ɾฤूίϚϯυ࣮ߦ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂݱ࣮μϒϧνΣοΫઃఆϑΝΠϧ࡞ɾฤूίϚϯυ࣮ߦઃఆϑΝΠϧ໋͕͜ΕΛϛεͬͨΒऴΘΓࠇ͍ը໘Λ͏ΤϯδχΞʹ͔͠৮Εͳ͍1.0ͷਓӦۀͱ͔৮Εͳ͍ਓઃఆ࣍ୈͰͳΜͰͰ͖ͯ͠·͏ɻɻɻ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂղܾࡦཧαΠτ࡞ͬͯɺࣗಈͰσϓϩΠͰ͖ΔΑ͏ʹ͢ΔʂࣗવͳྲྀΕ
ղܾࡦཧαΠτ࡞ͬͯɺࣗಈͰσϓϩΠͰ͖ΔΑ͏ʹ͢ΔʂࣗવͳྲྀΕίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂ8FCJTUSBOPͷΑ͏ͳΠϝʔδ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂཧαΠτ͕Ͱ͖Δ͜ͱͷϝϦοτඇΤϯδχΞ͕αʔϏεΛ৮ΕΔΑ͏ʹͳΔઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔOFXσϓϩΠϛε͕͛Δ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔݱ࣮ར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ1)1ͷݱFQIUUQQIQHFOCBTIJOYDPNઃఆϑΝΠϧΛ৮ΔͬͯͷɺੲΑͬͯ͘·ͨ͠Ͷʔ ҙ༁
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠Δɻ1)1ͷݱFQIUUQQIQHFOCBTIJOYDPNઃఆϑΝΠϧΛ৮ΔͬͯͷɺੲΑͬͯ͘·ͨ͠Ͷʔ ҙ༁ੲɻɻɻ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂར༻ऀใΛϑΝΠϧͰཧ͍ͯ͠ΔɻཧαΠτΛ࣋ͭ͜ͱʹΑΓ͓٬༷ݻ༗ͷใΛϑΝΠϧͰͳ͘%#ʹஔ͘͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂཧը໘͕Ͱ͖Δ͜ͱͷϝϦοτඇΤϯδχΞ͕αʔϏεΛ৮ΕΔΑ͏ʹͳΔσϓϩΠϛε͕͛ΔઃఆΛϑΝΠϧͰ࣋ͨͳͯ͘Α͘ͳΔ
ίϚϯυૢ࡞σϓϩΠͷࣗಈԽઈࢍ։ൃதʂඇΤϯδχΞཧαΠτ(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݅४උ1SPNJTFaFBDI@MJNJU
େྔ৴όϯεϝʔϧͷཧΛͪΌΜͱ͠ͳ͍ͱϝʔϧͷ৴ࣗମΛࢭΊΒΕΔɻ0,ιϑτόϯεͩΑʔϋʔυόϯεͩΑʔPLPLૹΒΕͯ͜ͳ͍ΤϯυϙΠϯτ
େྔ৴όϯεϝʔϧͷཧΛͪΌΜͱ͠ͳ͍ͱϝʔϧͷ৴ࣗମΛࢭΊΒΕΔɻιϑτόϯεͷ߹ ϋʔυόϯεͷ߹͓٬༷ʹɺιϑτόϯεͰ͋ΔࢫΛ͑Δ࠶ૹϘλϯΛԡͯ͠࠶ૹͰ͖ΔΑ͏ʹ͢Δ͓٬༷ʹɺϋʔυόϯεͰ͋ΔࢫΛ͑Δ࠶ૹͰ͖ͳ͍Α͏ʹ͢Δɻ
େྔ৴͜ΕΒͷΓऔΓΛɺෳϦʔδϣϯʹରͯ͠ߦ͏͜ͱʹΑΓɺߴͳϝʔϧૹ৴Λ࣮ݱ͍ͯ͠Δɻ
ൃදͷ࣍1)11)1ऴΘΓHJUDMPOFσϓϩΠπʔϧͷಋೖऴΘΓίϚϯυૢ࡞σϓϩΠͷࣗಈԽऴΘΓେྔ৴ऴΘΓ
·ͱΊ1)11)1HJUDMPOFσϓϩΠπʔϧͷಋೖίϚϯυૢ࡞σϓϩΠͷࣗಈԽେྔ৴
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠"TLUIF4QFBLFSd$ϗʔϧ࣭͝ɾ͝ҙݟɾ͝ײ$ϗʔϧ'VTJDϒʔεNPDLNPDLʹؔ͢Δ࣭