Slide 1

Slide 1 text

©Fusic Co., Ltd.  1 PHPΛॻ͘ཧ༝ PHPΛॻ͍͍ͯͯྑ͍ཧ༝ 2024.09.28 @seike460 PHPΧϯϑΝϨϯεԭೄ2024

Slide 2

Slide 2 text

©Fusic Co., Ltd. 2 ਗ਼Ո ࢙࿠ @seike460 AWS Community Builders Serverless ݄ؒPHPΧϯϑΝϨϯε2024 - PHPΧϯϑΝϨϯε๺ւಓ2024 ొஃ (LT) - PHPΧϯϑΝϨϯεؔ੢2024 ొஃ (LT) - PHPerKaigi2024 ొஃ (LT) - PHPΧϯϑΝϨϯεখాݪ2024 ొஃ - PHPΧϯϑΝϨϯε߳઒2024 ొஃ - PHPΧϯϑΝϨϯε෱Ԭ2024 ొஃ - PHPΧϯϑΝϨϯεԭೄ2024 ొஃʢͳ͏ʣ ࣗݾ঺հ ͸͡Ίʹ גࣜձࣾFusic ϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ

Slide 3

Slide 3 text

©Fusic Co., Ltd. 3 CONTENTS ໨࣍ 1. PHPΛॻ͘ཧ༝ͱPHPͷίϯηϓτ 2. PHPͷྺ࢙ 3. աڈͷPHPʹର͢ΔωΨςΟϒͳදݱ 4. վળΛଓ͚͖ͯͨPHPͷྺ࢙ 5. PHPΛࢧ͑ΔΤίγεςϜͱ։ൃऀ 6. ·ͱΊ

Slide 4

Slide 4 text

©Fusic Co., Ltd. 4 PHPΛॻ͘ཧ༝ͱPHPͷίϯηϓτ 1

Slide 5

Slide 5 text

©Fusic Co., Ltd. 5 PHPΛॻ͘ཧ༝ ͳͥࢲୡ͸αʔϏε։ൃΛߦ͏্ͰPHPΛબ୒͢ΔͷͰ͠ΐ͏͔ ΋ͪΖΜɺνʔϜͰ͢Ͱʹબఆ͞Ε͍ͯͨͱ͍͏ࣄ͸͋Δͱࢥ͍·͕͢ɺ ͦͷνʔϜ͸ͳͥPHPΛબ୒͍ͯͨ͠ͷͰ͠ΐ͏͔ গ͠PHPͷಛ௃ʹ͍ͭͯৼΓฦͬͯΈ·͠ΐ͏

Slide 6

Slide 6 text

©Fusic Co., Ltd. 6 PHPͷಛ௃ - ։ൃޮ཰ͷߴ͞ - γϯϓϧͳจ๏͔ͭগͳ͍ίʔυྔͰWebΞϓϦέʔγϣϯΛૉૣ͘ߏஙՄೳ - େن໛ΤίγεςϜ - LaravelͳͲͷϑϨʔϜϫʔΫ΍OSSΛར༻༷͠ʑͳػೳΛ؆୯ʹ࣮૷Ͱ͖Δ - ίϛϡχςΟͷڧྗͳαϙʔτ - ੈքதͰଟ͘ͷ։ൃऀʹࢦࣔ͞Ε͓ͯΓɺυΩϡϝϯτͳͲ΋ॆ࣮͍ͯ͠Δ - ύϑΥʔϚϯεͱηΩϡϦςΟͷਐԽ - PHP͸ߴ଎Խͱݎ࿚Խ͠ଓ͚͍ͯΔ WordPress͸ੈքͷαΠτͷ40%Ͱར༻͞Ε͍ͯΔ࣮੷͕͋Δ PHP͸Ͳ͏΍ͬͯ͜ͷΑ͏ͳਐԽΛ਱͛ͨͷͰ͠ΐ͏͔

Slide 7

Slide 7 text

©Fusic Co., Ltd. 7 PHPൃද౰࣌ͷ՝୊ 1990೥୅Πϯλʔωοτ͕ٸ଎ʹීٴ࢝͠Ίͨ࣌୅ WebαΠτͷߏங͕ਐΜͰ͍͕ͨಈతίϯςϯπੜ੒͕·ͩݶఆతͩͬͨ - WebαΠτͷఏڙํ๏ - ੩తͳHTMLϖʔδ͔͠ఏڙͰ͖ͣɺಈతͳίϯςϯπΛఏڙͰ͖ͳ͔ͬͨ - CGIϓϩάϥϜͷෳࡶ͞ͱֶशίετͷߴ͔͞Β͘Δ΋ͷ - PHPͷΞϓϩʔν - ؆ܿͳจ๏Ͱ௿ֶ͍शίετ - ΢Σϒ։ൃʹಛԽͨ͠ػೳͷఏڙ - αʔόʔαΠυͰͷॲཧΛखܰʹ࣮ݱ

Slide 8

Slide 8 text

©Fusic Co., Ltd. 8 PHPͷ໨తͱઃܭࢥ૝ - ໨త - ΢Σϒ։ൃʹಛԽͨ͠αʔόʔαΠυεΫϦϓτݴޠͱͯ͠஀ੜͨ͠ - ಈతͳ΢ΣϒϖʔδΛ؆୯ʹ࡞੒Ͱ͖ΔΑ͏ʹ͢Δ - ίϯηϓτ: - ࢖͍΍͢͞ͱखܰ͞Λॏࢹ - ਝ଎ͳ։ൃͱଈ࣌ͷ݁ՌΛಘΒΕΔ؀ڥΛఏڙ - HTMLʹ௚઀ຒΊࠐΊΔγϯϓϧͳจ๏ - ઃܭࢥ૝: - ॳ৺ऀʹ΋਌͠Έ΍͍͢ݴޠઃܭ - ʮݱ࣮తͳ໰୊ղܾʯʹয఺Λ౰࣮ͯͨ༻ओٛ

Slide 9

Slide 9 text

©Fusic Co., Ltd. 9 ٕज़ࢤ޲ͱαʔϏεࢤ޲ͷΤϯδχΞ - ٕज़ࢤ޲ͷΤϯδχΞ - ৽͍ٕ͠ज़Λ௥ٻ͠ɺٕज़ͷ୳ٻ΍վળʹ৘೤Λ࣋ͭ - ϓϩάϥϛϯάݴޠ΍ϑϨʔϜϫʔΫͷઃܭݪཧɺ࠷ઌ୺ٕज़Ԡ༻ʹڵຯ - αʔϏεࢤ޲ͷΤϯδχΞ - αʔϏεΛਝ଎ʹϦϦʔε͠ɺϢʔβʔʹՁ஋Λಧ͚Δ͜ͱΛ༏ઌ - ٕज़͸՝୊ղܾͷखஈͱଊ͑ɺ։ൃͷޮ཰ੑͱ࣮ߦ଎౓Λॏࢹ - ڞ௨఺ - ϢʔβʔʹՁ஋Λఏڙ͢Δͱ͍͏࠷ऴ໨ඪ͸ಉ͡ - ٕज़ͷબఆͱαʔϏεఏڙͷόϥϯε͕੒ޭͷ伴

Slide 10

Slide 10 text

©Fusic Co., Ltd. 10 PHP͸αʔϏεࢤ޲ͷΤϯδχΞʹద͍ͯ͠Δͱݴ͑Δ - ਝ଎ͳ։ൃ - ؆ܿͳγϯλοΫεͱ௿ֶ͍शίετʹΑΓɺ։ൃ։͕࢝ਝ଎ - ଈ࠲ʹಈ࡞݁ՌΛ֬ೝͰ͖ɺϓϩτλΠϐϯά͕ૉૣ͘ߦ͑Δ - ๛෋ͳϥΠϒϥϦͱϑϨʔϜϫʔΫ - Laravel΍WordPressͳͲͷڧྗͳπʔϧ͕ଟ਺ଘࡏ͠ɺ։ൃޮ཰Λେ෯ʹ޲্ - σϓϩΠͷ༰қ͞ - ଟ͘ͷϗεςΟϯάαʔϏε΍Ϋϥ΢υͰඪ४αϙʔτ͞Εɺ εϜʔζͳσϓϩΠ͕Մೳ - ΠϯϑϥͷखؒΛ࠷খݶʹ཈͑ɺαʔϏε։ൃʹूதͰ͖Δ

Slide 11

Slide 11 text

©Fusic Co., Ltd. 11 ҰํͰPHP͸ٕज़ࢤ޲ΤϯδχΞʹ͸ܟԕ͞Ε͖ͯͨྺ࢙΋͋Δ ٕज़ࢤ޲ΤϯδχΞʹ͸ܟԕ͞Εͨʮ࣌ظʯ΋͋Γ·ͨ͠ ※ܾͯ͠ࢲࣗ਎͸൱ఆతͰ͸͋Γ·ͤΜɻ - ଞݴޠͱͷൺֱ - ݫີͳܕγεςϜ΍ߴ౓ͳΦϒδΣΫτࢦ޲ػೳ͕ෆे෼ͱݟΒΕ͍ͯͨ - ଎౓΁ͷෆຬ - ίϯύΠϧݴޠʹൺ΂ͨࡍͷύϑΥʔϚϯεͷ௿͕͞ࢦఠ͞Ε͍ͯͨ - ηΩϡϦςΟͷݒ೦ - աڈʹ͸ηΩϡϦςΟ໰୊͕ଟൃ͠ɺ৴པੑ΁ͷෆ͕҆͋ͬͨ - ίʔυͷ඼࣭ - ॳ৺ऀʹ༏͍͠ઃܭ͕ΤίγεςϜͷ੒ख़౓ʹ௥͍͔ͭͣɺ ௿඼࣭ͳίʔυ͕޿͕ͬͨ

Slide 12

Slide 12 text

©Fusic Co., Ltd. 12 PHPͷྺ࢙͔ΒPHPͷൟӫͱ՝୊ղܾͷྲྀΕΛ௥͏ PHP͸ਐԽΛଓ͚ΔҰํͰɺ࣌ʹ༧ظ͠ͳ͍՝୊ʹ΋௚໘͖ͯ͠·ͨ͠ ͦͷྺ࢙ΛͨͲΓͳ͕ΒɺͲͷΑ͏ͳϙδςΟϒͳมԽ͕ੜ·Εɺ ·ͨͲͷΑ͏ͳωΨςΟϒͳଆ໘͕ݱΕɺରॲ͖ͯͨ͠ͷ͔Λݟ͍͖ͯ·͠ΐ͏ ௕͍࣌ؒΛܦͯPHP͸ͲͷΑ͏ʹൟӫ͠ɺ ՝୊Λ৐Γӽ͖͑ͯͨͷ͔Ұॹʹ೷͍ͯΈ·͠ΐ͏

Slide 13

Slide 13 text

©Fusic Co., Ltd. 13 PHPͷྺ࢙ 2

Slide 14

Slide 14 text

©Fusic Co., Ltd. 14 Personal Home Page Tools(PHP Tools) PHP͸ݩʑʮPersonal Home Page Toolsʯͱͯ͠1994೥ʹRasmus Lerdorf͕࡞੒ 1995೥ʹιʔείʔυΛެ։͠ɺ։ൃऀ͕ࣗ༝ʹར༻΍վྑͰ͖ΔΑ͏ʹͨ͠ ޙʹେن໛ͳ࣮૷ͱͳΓɺಈత΢ΣϒΞϓϦ։ൃʹ׆༻͞Εͨ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 15

Slide 15 text

©Fusic Co., Ltd. 15 groups.google.comʹ࢒͍ͬͯͨϑΥʔϥϜ 1995/06/08 16:00:00ʹ࢝Ίͯ PHP͕ੈͷதʹެ։͞Εͨ - CݴޠͰॻ͔Εͨখ͞ͳCGIπʔϧू - ΞΫηεϩά؅ཧ΍ ύεϫʔυอޢͳͲͷػೳΛఏڙ - GNUϥΠηϯεԼͰແྉެ։͞Εɺ ؆୯ʹΠϯετʔϧՄೳ

Slide 16

Slide 16 text

©Fusic Co., Ltd. 16 Personal Home Page Construction Kit 1995೥9݄ɺPHP͸Ұ࣌తʹFIʢForms Interpreterʣʹվ໊ Rasmus͕ίʔυΛ׬શʹॻ͖௚͠10݄ʹPHPͱͯ͠࠶ϦϦʔε ʮPersonal Home Page Construction Kitʯͱݺ͹Εͨ ҙਤతʹC෩ͷߏจΛ࠾༻͠ɺPerl΍Cͷ஌͕ࣝ͋ΔϢʔβʔ͕Ҡߦ͠΍͍͢ઃܭ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 17

Slide 17 text

©Fusic Co., Ltd. 17 PHP/FI 2.0 1996೥ʹPHP/FI 2.0͕ެ։͞ΕɺDBαϙʔτ΍Ϣʔβʔఆٛؔ਺͕௥Ճ 1997೥11݄ʹϕʔλΛଔۀ͠ɺੈքதͰ໿60,000ͷυϝΠϯʹΠϯετʔϧ ݸਓ։ൃ͕ଓ͍͕ͨɺ੒ख़ʹ͸ࢸΒͳ͔ͬͨ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 18

Slide 18 text

©Fusic Co., Ltd. 18 PHP/FI ͷίʔυྫ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 19

Slide 19 text

©Fusic Co., Ltd. 19 PHP 3 AndiͱZeev͕1997೥ʹRasmusͱڠྗͯ͠։ൃ ੒ख़ͨ͠ΠϯλʔϑΣʔεΛ༗֦͠ுੑ͕ߴ͘ɺΦϒδΣΫτࢦ޲Λαϙʔτ PHP/FI͔ΒਐԽ͠ɺ੒ޭΛऩΊͨ৽͍͠ϓϩάϥϛϯάݴޠ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 20

Slide 20 text

©Fusic Co., Ltd. 20 PHP 3 1998೥ɺPHP 3.0͕ਖ਼ࣜϦϦʔε͞ΕɺPHP/FI 2.0ͷޙܧʹ 9͔݄ͷެ։ςετΛܦͯɺ70,000Ҏ্ͷυϝΠϯͰ࢖༻ ΢Σϒαʔόʔͷ໿10%ʹΠϯετʔϧ͞Εɺ޿͘ීٴ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 21

Slide 21 text

©Fusic Co., Ltd. 21 PHP 4 1998೥ɺAndiͱZeev͕Zend EngineΛ։ൃ։࢝ ύϑΥʔϚϯε޲্Λ໨తʹɺPHP 4.0Λ2000೥ʹϦϦʔε PHP 4.0͸ߴ଎Խͱ৽ػೳΛଟ਺౥ࡌ͠ɺෳࡶͳΞϓϦʹ΋ରԠ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 22

Slide 22 text

©Fusic Co., Ltd. 22 PHP 5 2004೥ʹPHP 5͕ެ։͞ΕɺZend Engine 2.0Ͱ৽ΦϒδΣΫτϞσϧΛαϙʔτ ։ൃνʔϜ͸਺े໊Ͱߏ੒͞ΕɺPEAR΍PECLͳͲؔ࿈ϓϩδΣΫτʹ΋ଟ਺͕ؔ༩ ੈքதͷԿԯ΋ͷυϝΠϯʹಋೖ͞Ε͍ͯΔঢ়گʹ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 23

Slide 23 text

©Fusic Co., Ltd. 23 PHP 6 PHP 6͸UnicodeରԠͷෳࡶ͞Ͱதஅ(UTF-16ͷऔΓѻ͍ʹΑΔCPU࣌ؒ΍ϝϞϦΛେྔফඅ) ։ൃࠔ೉ʹΑΓਖ਼ࣜϦϦʔε͸அ೦͞Εͨ ओཁػೳ͸PHP 5.3 (໊લۭؒ) ͱ PHP 5.4 (τϨΠτ ͱ഑ྻͷ "୹ॖ" ه๏)ʹ෼ׂಋೖ ࢀরɿhttps://www.php.net/manual/ja/history.php.php https://pipedot.org/story/2014-09-21/php6-abandoned-going-straight-to-php7

Slide 24

Slide 24 text

©Fusic Co., Ltd. 24 աڈͷPHPʹର͢ΔωΨςΟϒͳදݱ 3

Slide 25

Slide 25 text

©Fusic Co., Ltd. 25 ඇ੔߹ੑͷ໰୊ - ؔ਺໊΍໋໊نଇͷෆ౷Ұ - ඪ४ؔ਺Ͱ΋໋໊نଇ͕Ұ؏͍ͯ͠ͳ͍ - εωʔΫέʔεͱΩϟϝϧέʔε͕ࠞࡏ - ྨࣅؔ਺Ͱඇਪ঑ɺਪ঑ؔ਺͕͋Δ - ໊લ͸΄΅ಉ౳ͳͷʹඇਪ঑ͷ΋ͷ΍ɺ ผ໊ͷਪ঑ؔ਺͕͋Δ - Ҿ਺ॱংͷෆ੔߹ - ಉ͡ҙຯͷҾ਺ͷॱং͕ؔ਺ʹΑͬͯҟͳΔ

Slide 26

Slide 26 text

©Fusic Co., Ltd. 26 աڈͷηΩϡϦςΟͷ੬ऑੑ(register_globals) - register_globalsͷ໰୊ ※ݱࡏ͸ഇࢭࡁ - GETɺPOSTɺCOOKIEͳͲͷ֎෦ೖྗ͕ࣗಈతʹάϩʔόϧม਺ͱͯ͠ѻΘΕΔ - ߈ܸऀ͕֎෦͔Β༧ظ͠ͳ͍ม਺Λૢ࡞ɾ্ॻ͖Ͱ͖ΔͨΊɺ ΞϓϦέʔγϣϯͷηΩϡϦςΟ͕੬ऑʹͳΓ·͢ ࢀߟϒϩάɿhttps://blog.ohgaki.net/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp_2

Slide 27

Slide 27 text

©Fusic Co., Ltd. 27 աڈͷηΩϡϦςΟͷ੬ऑੑ(magic_quotes_gpc) - magic_quotes_gpcͷ໰୊ ※ݱࡏ͸ഇࢭࡁ - ֎෦ೖྗʢGETɺPOSTɺCOOKIEʣʹର͠ɺ γϯάϧΫΥʔτ΍μϒϧΫΥʔτΛࣗಈͰΤεέʔϓ͢Δػೳ - ೋॏΤεέʔϓ΍ෆ׬શͳΤεέʔϓ͕ݪҼͰࠞཚΛট͘ - ద੾ͳΤεέʔϓॲཧ΍੬ऑੑରࡦ࣮ࢪΛ๦͛ʹͳΔ͜ͱ΋ ͱ͖ʹ͸SQLΠϯδΣΫγϣϯͷ༠ൃʹ΋ ࢀߟϒϩάɿhttps://blog.ohgaki.net/a_ei_a_ram_ei_a_rphpa_ca_a_oa_ra_a_ra_as

Slide 28

Slide 28 text

©Fusic Co., Ltd. 28 ٕज़ࢤ޲ΤϯδχΞʹ͸ܟԕ͞Ε͖ͯͨྺ࢙͕͋Δ - ΦϒδΣΫτࢦ޲ػೳͷະ੒ख़ͳࠒ͕͋ͬͨ - PHP4·ͰͷΦϒδΣΫτࢦ޲ػೳ͸ݶఆత - ࢀর౉͠ͷ໰୊΍ෳࡶͳߏจ͕ٕज़ऀʹͱͬͯෆຬͷཁҼ - ύϑΥʔϚϯεͷ௿͞Λࢦఠ͞Ε͍ͯͨࠒ͕͋ͬͨ - ΠϯλϓϦλܕݴޠͱͯ͠ɺେن໛ΞϓϦέʔγϣϯͰ͸ ଎౓΍ϝϞϦޮ཰ʹݶք - લड़ͷඇ੔߹ੑͷ໰୊΍ɺηΩϡϦςΟ্ͷݒ೦

Slide 29

Slide 29 text

©Fusic Co., Ltd. 29 վળΛଓ͚͖ͯͨPHPͷྺ࢙ 4

Slide 30

Slide 30 text

©Fusic Co., Ltd. 30 RFCϓϩηεͷಋೖͱPHPNGϓϩδΣΫτͷ্ཱͪ͛ PHP6ͷࣦഊ͔Βֶͼɺݱ࣮తͰޮՌతͳվળʹ஫ྗ - PHP 5.4ͷࠒ͔ΒRFCʢRequest for Commentsʣϓϩηεͷಋೖ - ৽͍͠ػೳ΍ݴޠͷมߋఏҊ͕ެ։͞ΕɺίϛϡχςΟશମͰٞ࿦ɾݕ౼ - ։ൃͷҙࢥܾఆ͕ಁ໌Խ͞Εɺଟ͘ͷ։ൃऀ͕ҙݟΛड़΂Δػձ͕૿Ճ - PHPNGϓϩδΣΫτ - Zend Engine 3ͷ։ൃΛਐΊͨϓϩδΣΫτ - Dmitry StogovɺNikita PopovɺZeev SuraskiͳͲͷ׆༂ PHPίϛϡχςΟͷߋͳΔਐలΛଅ͠·ͨ͠

Slide 31

Slide 31 text

©Fusic Co., Ltd. 31 RFCϓϩηεͷಋೖ PHP6ͷࣦഊ͔Βֶͼɺݱ࣮తͰޮՌతͳվળʹ஫ྗ - PHP 5.4ͷࠒ͔ΒRFCʢRequest for Commentsʣϓϩηεͷಋೖ - ৽͍͠ػೳ΍ݴޠͷมߋఏҊ͕ެ։͞ΕɺίϛϡχςΟશମͰٞ࿦ɾݕ౼ - ։ൃͷҙࢥܾఆ͕ಁ໌Խ͞Εɺଟ͘ͷ։ൃऀ͕ҙݟΛड़΂Δػձ͕૿Ճ ࢀরɿhttps://wiki.php.net/rfc/howto

Slide 32

Slide 32 text

©Fusic Co., Ltd. 32 PHPNGϓϩδΣΫτͷ্ཱͪ͛ PHP6ͷࣦഊ͔Βֶͼɺݱ࣮తͰޮՌతͳվળʹ஫ྗ - PHPNGϓϩδΣΫτ - Zend Engine 3ͷ։ൃΛਐΊͨϓϩδΣΫτ - Dmitry StogovɺNikita PopovɺZeev SuraskiͳͲͷ׆༂ ࢀরɿhttps://wiki.php.net/phpng

Slide 33

Slide 33 text

©Fusic Co., Ltd. 33 PHP 7 PHP 7.0͸2015೥ʹϦϦʔε͞ΕɺZend Engine 3.0ͰύϑΥʔϚϯεΛେ෯޲্ ྫ֎ॲཧ΍64ϏοτରԠɺNULL߹ମԋࢉࢠͳͲͷ৽ػೳΛ௥Ճ ޙଓͷ7.xγϦʔζͰ΋ܕએݴ΍FFIͳͲ͕ಋೖ͞Εͨ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 34

Slide 34 text

©Fusic Co., Ltd. 34 PHP 8 PHP 8.0͸2020೥ʹϦϦʔε͞ΕɺJITίϯύΠϥ΍໊લ෇͖Ҿ਺ɺunionܕͳͲΛ௥Ճɻ ܕγεςϜ΍ΤϥʔϋϯυϦϯά΋վળ͞ΕɺҰ؏ੑΛ޲্ɻ ޙଓͷϦϦʔεͰenumܕ΍ϑΝΠόʔɺಡΈऔΓઐ༻ΫϥεͳͲ͕௥Ճ͞Εͨɻ ࢀরɿhttps://www.php.net/manual/ja/history.php.php

Slide 35

Slide 35 text

©Fusic Co., Ltd. 35 PHP͕ΑΓαʔϏεࢤ޲ͷΤϯδχΞదԠ͍ͯͬͨ͠ - ΦϒδΣΫτࢦ޲ͷڧԽʢPHP5ʣ - ຊ֨తͳΦϒδΣΫτࢦ޲ϓϩάϥϛϯάػೳ͕ಋೖɺϞμϯͳ։ൃʹରԠ - ύϑΥʔϚϯεͷ޲্ʢPHP7Ҏ߱ʣ - Zend Engineͷେ෯ͳվྑʹΑΓɺߴ଎ԽͱϝϞϦ࢖༻ྔͷ࡟ݮ͕࣮ݱ - ܕγεςϜͷಋೖ - εΧϥʔܕએݴɺ໭Γ஋ͷܕએݴɺUnion Typesɺίʔυͷ҆શੑͱՄಡੑ͕޲্ - ηΩϡϦςΟͷڧԽ - ةݥͳػೳͷഇࢭͱσϑΥϧτઃఆͷվળʹΑΓɺηΩϡϦςΟϦεΫ͕ܰݮ - ίϛϡχςΟͷ੒ख़ - PSRʹΑΔඪ४ԽɺϕετϓϥΫςΟεͷڞ༗

Slide 36

Slide 36 text

©Fusic Co., Ltd. 36 ٕज़ࢤ޲ΤϯδχΞ΋ຬ଍Ͱ͖ΔPHP΁ - ߴ౓ͳΦϒδΣΫτࢦ޲ػೳ - ໊લۭؒɺτϨΠτɺಗ໊ΫϥεͳͲͷಋೖͰɺ ෳࡶͳΞϓϦέʔγϣϯઃܭ͕Մೳ - ࠷৽ͷݴޠػೳ - δΣωϨʔλ΍ΞτϦϏϡʔτͱ͍ͬͨػೳΛ࠾༻͠ɺ ίʔυͷޮ཰ͱॊೈੑΛ޲্ - ύϑΥʔϚϯεͷ͞ΒͳΔ޲্ʢPHP8ʣ - JITίϯύΠϧͷಋೖʹΑΓɺҰ෦ͷϢʔεέʔεͰύϑΥʔϚϯε͕޲্

Slide 37

Slide 37 text

©Fusic Co., Ltd. 37 PHPΛࢧ͑ΔΤίγεςϜͱ։ൃऀ 5

Slide 38

Slide 38 text

©Fusic Co., Ltd. 38 PHPͷ։ൃΛࢧ͑Δྗ - Composer - ෳ਺ͷ֎෦ϥΠϒϥϦͷґଘؔ܎؅ཧΛߦͬͯ͘ΕΔ - ࣗಈతʹґଘؔ܎Λղܾ͠ɺόʔδϣϯ؅ཧΛ༰қʹ ݁Ռͱͯ͠ɺPHPίϛϡχςΟͷ։ൃऀ͕ఏڙ͢Δ ༷ʑͳOSSΛ؆୯ʹ૊ΈࠐΉ͜ͱ͕ग़དྷΔ͜ͱͰ ։ൃޮ཰ͷ޲্Λߦ͏͜ͱ͕ग़དྷΔ

Slide 39

Slide 39 text

©Fusic Co., Ltd. 39 PHP-FIGʹΑΔPHPඪ४ԽʢPSRʣ - PHP Framework Interop Group (PHP-FIG) - PHPϑϨʔϜϫʔΫ΍ϥΠϒϥϦؒͷ૬ޓӡ༻ੑΛ֬อ͠ɺ ։ൃऀ͕ෳ਺ͷϑϨʔϜϫʔΫ΍ϥΠϒϥϦΛ ૊Έ߹Θͤͯ࢖͑ΔΑ͏ʹ͢ΔͨΊʹઃཱ - PHP Standards Recommendations (PSR) - PHP-FIGʹΑͬͯఏҊ͞ΕΔඪ४తͳΨΠυϥΠϯ΍ن֨ - PSRʹ४ڌ͢Δ͜ͱͰɺҟͳΔϑϨʔϜϫʔΫ΍ϥΠϒϥϦ͕ Ұ؏ੑΛ࣋ͬͯಈ࡞͢Δ͜ͱ͕Մೳ

Slide 40

Slide 40 text

©Fusic Co., Ltd. 40 Accepted PSR - PSR-1: جຊతͳίʔσΟϯάඪ४ - PSR-3: ϩΪϯάΠϯλʔϑΣʔεͷඪ४ - PSR-4: ΦʔτϩʔσΟϯάͷඪ४ - PSR-6: ΩϟογϡΠϯλʔϑΣʔεͷඪ४ - PSR-7: HTTPϝοηʔδΠϯλʔϑΣʔεͷඪ४ - PSR-11: ίϯςφΠϯλʔϑΣʔεͷඪ४ - PSR-12: ֦ு͞ΕͨίʔσΟϯάελΠϧΨΠυ - PSR-13: ϦϯΫ࢓༷ͷඪ४ - PSR-14: ΠϕϯτσΟεύονϟʔͷඪ४ - PSR-15: HTTPαʔόʔϛυϧ΢ΣΞͷඪ४ - PSR-16: γϯϓϧͳΩϟογϡͷඪ४ - PSR-17: HTTPϑΝΫτϦʔΠϯλʔϑΣʔεͷඪ४ - PSR-18: HTTPΫϥΠΞϯτͷඪ४ ࢀরɿhttps://www.php-fig.org/psr/

Slide 41

Slide 41 text

©Fusic Co., Ltd. 41 PSR۩ମྫɿPSR-4 ΦʔτϩʔσΟϯάඪ४ PSR-4Λ࢖͏ͱɺ໊લۭؒͱϑΝΠϧͷύε͕Ұக͢ΔΑ͏ʹઃܭ͢Δ͚ͩͰɺ PHP͕ΫϥεΛࣗಈతʹಡΈࠐΜͰ͘ΕΔΑ͏ʹͳΓ·͢ ໌ࣔతʹ `require` ·ͨ͸ `include` ͢Δඞཁ͕ͳ͘ͳΓ։ൃޮ཰޲্ͱϥΠϒϥϦͱͷ੔߹ੑ͕ͱΕΔ

Slide 42

Slide 42 text

©Fusic Co., Ltd. 42 PHPΛࢧ͑ΔϑϨʔϜϫʔΫ ॳֶऀʹର࣮ͯ͠ફ஌Λอ؅͠ͳ͕Β্ڃऀʹରͯ͠΋։ൃ଎౓޲্ʹد༩ ࣮૷ෆඋΛ๷ࢭͯ͠ηΩϡϦςΟ޲্ʹ΋ܨ͕Δ - Laravel - Laminas - Symfony - CodeIgniter - CakePHP

Slide 43

Slide 43 text

©Fusic Co., Ltd. 43 ϑϨʔϜϫʔΫʹΑΔ։ൃ଎౓޲্ʢDB઀ଓͷྫʣ - σʔλϕʔε৘ใͷઃఆ - σʔλϕʔε઀ଓ৘ใΛઃఆ - PDOͰDB઀ଓ࡞੒ - PDOΛ࢖༻ͯ͠DBʹ઀ଓ - ΤϥʔϞʔυઃఆ - ΤϥʔϞʔυΛྫ֎ʹઃఆ - SQLΫΤϦ४උ - IdΛ৚݅ʹΫΤϦΛ४උ - SQLΫΤϦ࣮ߦ - ΫΤϦΛ࣮ߦ͠σʔλऔಘ - ݁Ռͷऔಘ - ΫΤϦ݁Ռ͔ΒϢʔβʔ৘ใऔಘ - ྫ֎ॲཧ - DB઀ଓΤϥʔ࣌ʹΤϥʔϝοηʔδදࣔ

Slide 44

Slide 44 text

©Fusic Co., Ltd. 44 ϑϨʔϜϫʔΫʹΑΔ։ൃ଎౓޲্ʢLaravelͷ৔߹ʣ ઌఔͷॲཧΛʮ͜ΕΛɺ͜͏ͯ͠ɺ͜͏͡Όʂʯ ͱ͍ͬͨϨϕϧͰॲཧՄೳ ߹ΘͤͯSQLΠϯδΣΫγϣϯͳͲͷ ඪ४తͳηΩϡϦςΟͷରࡦ΋ߦͬͯ͘Ε͍ͯΔҝ ։ൃޮ཰ͱηΩϡϦςΟͷ྆໘Λ ߴ͍ϨϕϧͰ޲্ͯ͘͠Ε͍ͯΔ

Slide 45

Slide 45 text

©Fusic Co., Ltd. 45 PHP͸༷ʑͳਓʑʹࢧ͑ΒΕ͍ͯΔ PHPͷඇӦརஂମʮPHP Foundationʯ LaravelɺSymfonyͳͲͷϑϨʔϜϫʔΫίϛϡχςΟ ComposerɺPHPUnitͳͲͷΦʔϓϯιʔεϓϩδΣΫτͷίϛϡχςΟ ίϛϡχςΟϓϥοτϑΥʔϜPHP.netΛࢧ͑Δεϙϯαʔ΍Πϯϑϥఏڙاۀ https://www.php.net/thanks.php

Slide 46

Slide 46 text

©Fusic Co., Ltd. 46 ࢲୡ͕PHPͱڞʹະདྷΛ૑ΔͨΊʹग़དྷΔ͜ͱ PHP͕ਐԽ͖ͯͨ͠ྺ࢙ʹ͸༷ʑͳࣄ৅Λ৐Γӽ্͑ͨͰͷ ։ൃऀͨͪͷ౒ྗͷ຤ɺڧྗͳΤίγεςϜ͕ߏங͞Ε͍ͯ·͢ ࠓޙ΋PHP͕ಁ໌ੑͷ͋Δਖ਼͍͠ਐԽΛଓ͚Δ͜ͱ͸༰қʹ૝૾Ͱ͖·͢ ΤίγεςϜͷ্ͰߏஙΛਐΊΔ͏͑ͰPHP΁ͷߩݙΛҙࣝͯ͠΋Β͑Δͱ޾͍Ͱ͢ - OSSͷ։ൃ΍OSS΁ͷίϯτϦϏϡʔτ - PHPΧϯϑΝϨϯεԭೄͷΑ͏ͳΧϯϑΝϨϯεͰͷ஌ݟڞ༗ - ߋʹ౿ΉࠐΈPHPຊମͷ։ൃʹՃΘΔํ๏ͷ໛ࡧ

Slide 47

Slide 47 text

©Fusic Co., Ltd. 47 PHPͷྺ࢙ʹݟΔࢲୡ͕PHPΛॻ͍͍ͯͯྑ͍ཧ༝ PHPͷྺ࢙Λඥղ͘ͱ༷ʑͳ՝୊Λܦͯਖ਼͍͠ਐԽͷྺ࢙͕֬ೝͰ͖ͨ ͦͷྺ࢙ࣗମ͕ʮࢲୡ͕PHPΛॻ͍͍ͯͯྑ͍ཧ༝ʯͷূ໌ͱߟ͑·͢ ͦΜͳPHPʹࢧ͑ΒΕ͍ͯΔதͰɺͦͷΤίγεςϜΛޙԡ͍ͨ͠͠ ίϛϡχςΟͷҰһͱͯ͠PHPΤίγεςϜΛࢧ͑ΔखஈΛ໛ࡧ͠·͠ΐ͏

Slide 48

Slide 48 text

©Fusic Co., Ltd. 48 ·ͱΊ 6

Slide 49

Slide 49 text

©Fusic Co., Ltd. 49 ·ͱΊ PHP͸ͦͷྺ࢙ͷதͰਐԽΛଓ͚ɺύϑΥʔϚϯε΍ηΩϡϦςΟͷ໘Ͱେ෯ͳվળΛ࣮ݱ Point 01 ٕज़ࢤ޲ͷਂ͍ΤϯδχΞͱɺαʔϏεࢤ޲ͷ։ൃऀ૒ํʹରԠͰ͖Δॊೈੑ͕͋Δ Point 02 ๛෋ͳϑϨʔϜϫʔΫͱ׆ൃͳίϛϡχςΟͷࢧԉʹΑΓɺ։ൃͷޮ཰Խͱඪ४Խ͕ਐΜͰ͍Δ Point 03 ͥͻPHPerͱͯ͠શੈքϨϕϧͰͷPHPίϛϡχςΟΛࢧ͑Δ׆ಈΛݕ౼͍ͩ͘͞ Point 04

Slide 50

Slide 50 text

©Fusic Co., Ltd. 50 Thank You We are Hiring! https://recruit.fusic.co.jp/ ͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠