Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP a...
Search
shiro seike
PRO
September 27, 2024
Programming
5
590
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP and why it is good to write PHP
PHPカンファレンス沖縄2024
https://phpcon.okinawa.jp/
shiro seike
PRO
September 27, 2024
Tweet
Share
More Decks by shiro seike
See All by shiro seike
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
510
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
1.1k
実践サーバーレスパフォーマンスチューニング ~その実力に迫る~ / Practical Serverless Performance Tuning ~A Close Look at its Power~
seike460
PRO
2
350
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
750
いまあるチームにフィットさせる Serverless そして Platform Engineeringへの挑戦 / Serverless Fits the Team You Have and Platform Engineering
seike460
PRO
2
2.1k
いまあるチームにフィットさせる Serverless / Serverless fits in with the team you have now.
seike460
PRO
2
180
地方こそサーバーレス! チームにフィットさせるサーバーレス / Rural areas are serverless! Serverless to Fit Your Team
seike460
PRO
1
120
AWS X-Rayを利用したサーバーレスのパフォーマンス分析 / Serverless performance analysis using AWS X-Ray
seike460
PRO
2
180
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
530
Other Decks in Programming
See All in Programming
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
Recoilを剥がしている話
kirik
5
6.6k
快速入門可觀測性
blueswen
0
240
Criando Commits Incríveis no Git
marcelgsantos
2
160
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
Refactor your code - refactor yourself
xosofox
1
250
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
150
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
160
たのしいparse.y
ydah
3
120
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
190
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
920
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Code Review Best Practice
trishagee
65
17k
Facilitating Awesome Meetings
lara
50
6.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Adopting Sorbet at Scale
ufuk
73
9.1k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
©Fusic Co., Ltd.  1 PHPΛॻ͘ཧ༝ PHPΛॻ͍͍ͯͯྑ͍ཧ༝ 2024.09.28 @seike460 PHPΧϯϑΝϨϯεԭೄ2024
©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 ϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ
©Fusic Co., Ltd. 3 CONTENTS ࣍ 1. PHPΛॻ͘ཧ༝ͱPHPͷίϯηϓτ 2. PHPͷྺ࢙
3. աڈͷPHPʹର͢ΔωΨςΟϒͳදݱ 4. վળΛଓ͚͖ͯͨPHPͷྺ࢙ 5. PHPΛࢧ͑ΔΤίγεςϜͱ։ൃऀ 6. ·ͱΊ
©Fusic Co., Ltd. 4 PHPΛॻ͘ཧ༝ͱPHPͷίϯηϓτ 1
©Fusic Co., Ltd. 5 PHPΛॻ͘ཧ༝ ͳͥࢲୡαʔϏε։ൃΛߦ͏্ͰPHPΛબ͢ΔͷͰ͠ΐ͏͔ ͪΖΜɺνʔϜͰ͢Ͱʹબఆ͞Ε͍ͯͨͱ͍͏ࣄ͋Δͱࢥ͍·͕͢ɺ ͦͷνʔϜͳͥPHPΛબ͍ͯͨ͠ͷͰ͠ΐ͏͔ গ͠PHPͷಛʹ͍ͭͯৼΓฦͬͯΈ·͠ΐ͏
©Fusic Co., Ltd. 6 PHPͷಛ - ։ൃޮͷߴ͞ - γϯϓϧͳจ๏͔ͭগͳ͍ίʔυྔͰWebΞϓϦέʔγϣϯΛૉૣ͘ߏஙՄೳ -
େنΤίγεςϜ - LaravelͳͲͷϑϨʔϜϫʔΫOSSΛར༻༷͠ʑͳػೳΛ؆୯ʹ࣮Ͱ͖Δ - ίϛϡχςΟͷڧྗͳαϙʔτ - ੈքதͰଟ͘ͷ։ൃऀʹࢦࣔ͞Ε͓ͯΓɺυΩϡϝϯτͳͲॆ࣮͍ͯ͠Δ - ύϑΥʔϚϯεͱηΩϡϦςΟͷਐԽ - PHPߴԽͱݎ࿚Խ͠ଓ͚͍ͯΔ WordPressੈքͷαΠτͷ40%Ͱར༻͞Ε͍ͯΔ࣮͕͋Δ PHPͲ͏ͬͯ͜ͷΑ͏ͳਐԽΛ͛ͨͷͰ͠ΐ͏͔
©Fusic Co., Ltd. 7 PHPൃද࣌ͷ՝ 1990Πϯλʔωοτ͕ٸʹීٴ࢝͠Ίͨ࣌ WebαΠτͷߏங͕ਐΜͰ͍͕ͨಈతίϯςϯπੜ͕·ͩݶఆతͩͬͨ - WebαΠτͷఏڙํ๏ -
੩తͳHTMLϖʔδ͔͠ఏڙͰ͖ͣɺಈతͳίϯςϯπΛఏڙͰ͖ͳ͔ͬͨ - CGIϓϩάϥϜͷෳࡶ͞ͱֶशίετͷߴ͔͞Β͘Δͷ - PHPͷΞϓϩʔν - ؆ܿͳจ๏Ͱֶ͍शίετ - Σϒ։ൃʹಛԽͨ͠ػೳͷఏڙ - αʔόʔαΠυͰͷॲཧΛखܰʹ࣮ݱ
©Fusic Co., Ltd. 8 PHPͷతͱઃܭࢥ - త - Σϒ։ൃʹಛԽͨ͠αʔόʔαΠυεΫϦϓτݴޠͱͯ͠ੜͨ͠ -
ಈతͳΣϒϖʔδΛ؆୯ʹ࡞Ͱ͖ΔΑ͏ʹ͢Δ - ίϯηϓτ: - ͍͢͞ͱखܰ͞Λॏࢹ - ਝͳ։ൃͱଈ࣌ͷ݁ՌΛಘΒΕΔڥΛఏڙ - HTMLʹຒΊࠐΊΔγϯϓϧͳจ๏ - ઃܭࢥ: - ॳ৺ऀʹ͠Έ͍͢ݴޠઃܭ - ʮݱ࣮తͳղܾʯʹযΛ࣮ͯͨ༻ओٛ
©Fusic Co., Ltd. 9 ٕज़ࢤͱαʔϏεࢤͷΤϯδχΞ - ٕज़ࢤͷΤϯδχΞ - ৽͍ٕ͠ज़Λٻ͠ɺٕज़ͷ୳ٻվળʹΛ࣋ͭ -
ϓϩάϥϛϯάݴޠϑϨʔϜϫʔΫͷઃܭݪཧɺ࠷ઌٕज़Ԡ༻ʹڵຯ - αʔϏεࢤͷΤϯδχΞ - αʔϏεΛਝʹϦϦʔε͠ɺϢʔβʔʹՁΛಧ͚Δ͜ͱΛ༏ઌ - ٕज़՝ղܾͷखஈͱଊ͑ɺ։ൃͷޮੑͱ࣮ߦΛॏࢹ - ڞ௨ - ϢʔβʔʹՁΛఏڙ͢Δͱ͍͏࠷ऴඪಉ͡ - ٕज़ͷબఆͱαʔϏεఏڙͷόϥϯε͕ޭͷ伴
©Fusic Co., Ltd. 10 PHPαʔϏεࢤͷΤϯδχΞʹద͍ͯ͠Δͱݴ͑Δ - ਝͳ։ൃ - ؆ܿͳγϯλοΫεͱֶ͍शίετʹΑΓɺ։ൃ։͕࢝ਝ -
ଈ࠲ʹಈ࡞݁ՌΛ֬ೝͰ͖ɺϓϩτλΠϐϯά͕ૉૣ͘ߦ͑Δ - ๛ͳϥΠϒϥϦͱϑϨʔϜϫʔΫ - LaravelWordPressͳͲͷڧྗͳπʔϧ͕ଟଘࡏ͠ɺ։ൃޮΛେ෯ʹ্ - σϓϩΠͷ༰қ͞ - ଟ͘ͷϗεςΟϯάαʔϏεΫϥυͰඪ४αϙʔτ͞Εɺ εϜʔζͳσϓϩΠ͕Մೳ - ΠϯϑϥͷखؒΛ࠷খݶʹ͑ɺαʔϏε։ൃʹूதͰ͖Δ
©Fusic Co., Ltd. 11 ҰํͰPHPٕज़ࢤΤϯδχΞʹܟԕ͞Ε͖ͯͨྺ࢙͋Δ ٕज़ࢤΤϯδχΞʹܟԕ͞Εͨʮ࣌ظʯ͋Γ·ͨ͠ ※ܾͯ͠ࢲࣗ൱ఆతͰ͋Γ·ͤΜɻ - ଞݴޠͱͷൺֱ -
ݫີͳܕγεςϜߴͳΦϒδΣΫτࢦػೳ͕ෆेͱݟΒΕ͍ͯͨ - ͷෆຬ - ίϯύΠϧݴޠʹൺͨࡍͷύϑΥʔϚϯεͷ͕͞ࢦఠ͞Ε͍ͯͨ - ηΩϡϦςΟͷݒ೦ - աڈʹηΩϡϦςΟ͕ଟൃ͠ɺ৴པੑͷෆ͕҆͋ͬͨ - ίʔυͷ࣭ - ॳ৺ऀʹ༏͍͠ઃܭ͕ΤίγεςϜͷख़ʹ͍͔ͭͣɺ ࣭ͳίʔυ͕͕ͬͨ
©Fusic Co., Ltd. 12 PHPͷྺ࢙͔ΒPHPͷൟӫͱ՝ղܾͷྲྀΕΛ͏ PHPਐԽΛଓ͚ΔҰํͰɺ࣌ʹ༧ظ͠ͳ͍՝ʹ໘͖ͯ͠·ͨ͠ ͦͷྺ࢙ΛͨͲΓͳ͕ΒɺͲͷΑ͏ͳϙδςΟϒͳมԽ͕ੜ·Εɺ ·ͨͲͷΑ͏ͳωΨςΟϒͳଆ໘͕ݱΕɺରॲ͖ͯͨ͠ͷ͔Λݟ͍͖ͯ·͠ΐ͏ ͍࣌ؒΛܦͯPHPͲͷΑ͏ʹൟӫ͠ɺ ՝ΛΓӽ͖͑ͯͨͷ͔Ұॹʹ͍ͯΈ·͠ΐ͏
©Fusic Co., Ltd. 13 PHPͷྺ࢙ 2
©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
©Fusic Co., Ltd. 15 groups.google.comʹ͍ͬͯͨϑΥʔϥϜ 1995/06/08 16:00:00ʹ࢝Ίͯ PHP͕ੈͷதʹެ։͞Εͨ - CݴޠͰॻ͔Εͨখ͞ͳCGIπʔϧू
- ΞΫηεϩάཧ ύεϫʔυอޢͳͲͷػೳΛఏڙ - GNUϥΠηϯεԼͰແྉެ։͞Εɺ ؆୯ʹΠϯετʔϧՄೳ
©Fusic Co., Ltd. 16 Personal Home Page Construction Kit 19959݄ɺPHPҰ࣌తʹFIʢForms
Interpreterʣʹվ໊ Rasmus͕ίʔυΛશʹॻ͖͠10݄ʹPHPͱͯ͠࠶ϦϦʔε ʮPersonal Home Page Construction KitʯͱݺΕͨ ҙਤతʹC෩ͷߏจΛ࠾༻͠ɺPerlCͷ͕ࣝ͋ΔϢʔβʔ͕Ҡߦ͍͢͠ઃܭ ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©Fusic Co., Ltd. 17 PHP/FI 2.0 1996ʹPHP/FI 2.0͕ެ։͞ΕɺDBαϙʔτϢʔβʔఆ͕ٛؔՃ 199711݄ʹϕʔλΛଔۀ͠ɺੈքதͰ60,000ͷυϝΠϯʹΠϯετʔϧ ݸਓ։ൃ͕ଓ͍͕ͨɺख़ʹࢸΒͳ͔ͬͨ
ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©Fusic Co., Ltd. 18 PHP/FI ͷίʔυྫ ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©Fusic Co., Ltd. 19 PHP 3 AndiͱZeev͕1997ʹRasmusͱڠྗͯ͠։ൃ ख़ͨ͠ΠϯλʔϑΣʔεΛ༗֦͠ுੑ͕ߴ͘ɺΦϒδΣΫτࢦΛαϙʔτ PHP/FI͔ΒਐԽ͠ɺޭΛऩΊͨ৽͍͠ϓϩάϥϛϯάݴޠ ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©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
©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
©Fusic Co., Ltd. 22 PHP 5 2004ʹPHP 5͕ެ։͞ΕɺZend Engine 2.0Ͱ৽ΦϒδΣΫτϞσϧΛαϙʔτ
։ൃνʔϜे໊Ͱߏ͞ΕɺPEARPECLͳͲؔ࿈ϓϩδΣΫτʹଟ͕ؔ༩ ੈքதͷԿԯͷυϝΠϯʹಋೖ͞Ε͍ͯΔঢ়گʹ ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©Fusic Co., Ltd. 23 PHP 6 PHP 6UnicodeରԠͷෳࡶ͞Ͱதஅ(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
©Fusic Co., Ltd. 24 աڈͷPHPʹର͢ΔωΨςΟϒͳදݱ 3
©Fusic Co., Ltd. 25 ඇ߹ੑͷ - ໊໋໊ؔنଇͷෆ౷Ұ - ඪ४ؔͰ໋໊نଇ͕Ұ؏͍ͯ͠ͳ͍ -
εωʔΫέʔεͱΩϟϝϧέʔε͕ࠞࡏ - ྨࣅؔͰඇਪɺਪ͕ؔ͋Δ - ໊લ΄΅ಉͳͷʹඇਪͷͷɺ ผ໊ͷਪ͕ؔ͋Δ - Ҿॱংͷෆ߹ - ಉ͡ҙຯͷҾͷॱং͕ؔʹΑͬͯҟͳΔ
©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
©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
©Fusic Co., Ltd. 28 ٕज़ࢤΤϯδχΞʹܟԕ͞Ε͖ͯͨྺ࢙͕͋Δ - ΦϒδΣΫτࢦػೳͷະख़ͳࠒ͕͋ͬͨ - PHP4·ͰͷΦϒδΣΫτࢦػೳݶఆత -
ࢀর͠ͷෳࡶͳߏจ͕ٕज़ऀʹͱͬͯෆຬͷཁҼ - ύϑΥʔϚϯεͷ͞Λࢦఠ͞Ε͍ͯͨࠒ͕͋ͬͨ - ΠϯλϓϦλܕݴޠͱͯ͠ɺେنΞϓϦέʔγϣϯͰ ϝϞϦޮʹݶք - લड़ͷඇ߹ੑͷɺηΩϡϦςΟ্ͷݒ೦
©Fusic Co., Ltd. 29 վળΛଓ͚͖ͯͨPHPͷྺ࢙ 4
©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ίϛϡχςΟͷߋͳΔਐలΛଅ͠·ͨ͠
©Fusic Co., Ltd. 31 RFCϓϩηεͷಋೖ PHP6ͷࣦഊ͔Βֶͼɺݱ࣮తͰޮՌతͳվળʹྗ - PHP 5.4ͷࠒ͔ΒRFCʢRequest for
Commentsʣϓϩηεͷಋೖ - ৽͍͠ػೳݴޠͷมߋఏҊ͕ެ։͞ΕɺίϛϡχςΟશମͰٞɾݕ౼ - ։ൃͷҙࢥܾఆ͕ಁ໌Խ͞Εɺଟ͘ͷ։ൃऀ͕ҙݟΛड़Δػձ͕૿Ճ ࢀরɿhttps://wiki.php.net/rfc/howto
©Fusic Co., Ltd. 32 PHPNGϓϩδΣΫτͷ্ཱͪ͛ PHP6ͷࣦഊ͔Βֶͼɺݱ࣮తͰޮՌతͳվળʹྗ - PHPNGϓϩδΣΫτ - Zend
Engine 3ͷ։ൃΛਐΊͨϓϩδΣΫτ - Dmitry StogovɺNikita PopovɺZeev SuraskiͳͲͷ׆༂ ࢀরɿhttps://wiki.php.net/phpng
©Fusic Co., Ltd. 33 PHP 7 PHP 7.02015ʹϦϦʔε͞ΕɺZend Engine 3.0ͰύϑΥʔϚϯεΛେ෯্
ྫ֎ॲཧ64ϏοτରԠɺNULL߹ମԋࢉࢠͳͲͷ৽ػೳΛՃ ޙଓͷ7.xγϦʔζͰܕએݴFFIͳͲ͕ಋೖ͞Εͨ ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©Fusic Co., Ltd. 34 PHP 8 PHP 8.02020ʹϦϦʔε͞ΕɺJITίϯύΠϥ໊લ͖ҾɺunionܕͳͲΛՃɻ ܕγεςϜΤϥʔϋϯυϦϯάվળ͞ΕɺҰ؏ੑΛ্ɻ ޙଓͷϦϦʔεͰenumܕϑΝΠόʔɺಡΈऔΓઐ༻ΫϥεͳͲ͕Ճ͞Εͨɻ
ࢀরɿhttps://www.php.net/manual/ja/history.php.php
©Fusic Co., Ltd. 35 PHP͕ΑΓαʔϏεࢤͷΤϯδχΞదԠ͍ͯͬͨ͠ - ΦϒδΣΫτࢦͷڧԽʢPHP5ʣ - ຊ֨తͳΦϒδΣΫτࢦϓϩάϥϛϯάػೳ͕ಋೖɺϞμϯͳ։ൃʹରԠ -
ύϑΥʔϚϯεͷ্ʢPHP7Ҏ߱ʣ - Zend Engineͷେ෯ͳվྑʹΑΓɺߴԽͱϝϞϦ༻ྔͷݮ͕࣮ݱ - ܕγεςϜͷಋೖ - εΧϥʔܕએݴɺΓͷܕએݴɺUnion Typesɺίʔυͷ҆શੑͱՄಡੑ্͕ - ηΩϡϦςΟͷڧԽ - ةݥͳػೳͷഇࢭͱσϑΥϧτઃఆͷվળʹΑΓɺηΩϡϦςΟϦεΫ͕ܰݮ - ίϛϡχςΟͷख़ - PSRʹΑΔඪ४ԽɺϕετϓϥΫςΟεͷڞ༗
©Fusic Co., Ltd. 36 ٕज़ࢤΤϯδχΞຬͰ͖ΔPHP - ߴͳΦϒδΣΫτࢦػೳ - ໊લۭؒɺτϨΠτɺಗ໊ΫϥεͳͲͷಋೖͰɺ ෳࡶͳΞϓϦέʔγϣϯઃܭ͕Մೳ
- ࠷৽ͷݴޠػೳ - δΣωϨʔλΞτϦϏϡʔτͱ͍ͬͨػೳΛ࠾༻͠ɺ ίʔυͷޮͱॊೈੑΛ্ - ύϑΥʔϚϯεͷ͞ΒͳΔ্ʢPHP8ʣ - JITίϯύΠϧͷಋೖʹΑΓɺҰ෦ͷϢʔεέʔεͰύϑΥʔϚϯε্͕
©Fusic Co., Ltd. 37 PHPΛࢧ͑ΔΤίγεςϜͱ։ൃऀ 5
©Fusic Co., Ltd. 38 PHPͷ։ൃΛࢧ͑Δྗ - Composer - ෳͷ֎෦ϥΠϒϥϦͷґଘؔཧΛߦͬͯ͘ΕΔ -
ࣗಈతʹґଘؔΛղܾ͠ɺόʔδϣϯཧΛ༰қʹ ݁Ռͱͯ͠ɺPHPίϛϡχςΟͷ։ൃऀ͕ఏڙ͢Δ ༷ʑͳOSSΛ؆୯ʹΈࠐΉ͜ͱ͕ग़དྷΔ͜ͱͰ ։ൃޮͷ্Λߦ͏͜ͱ͕ग़དྷΔ
©Fusic Co., Ltd. 39 PHP-FIGʹΑΔPHPඪ४ԽʢPSRʣ - PHP Framework Interop Group
(PHP-FIG) - PHPϑϨʔϜϫʔΫϥΠϒϥϦؒͷ૬ޓӡ༻ੑΛ֬อ͠ɺ ։ൃऀ͕ෳͷϑϨʔϜϫʔΫϥΠϒϥϦΛ Έ߹Θͤͯ͑ΔΑ͏ʹ͢ΔͨΊʹઃཱ - PHP Standards Recommendations (PSR) - PHP-FIGʹΑͬͯఏҊ͞ΕΔඪ४తͳΨΠυϥΠϯن֨ - PSRʹ४ڌ͢Δ͜ͱͰɺҟͳΔϑϨʔϜϫʔΫϥΠϒϥϦ͕ Ұ؏ੑΛ࣋ͬͯಈ࡞͢Δ͜ͱ͕Մೳ
©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/
©Fusic Co., Ltd. 41 PSR۩ମྫɿPSR-4 ΦʔτϩʔσΟϯάඪ४ PSR-4Λ͏ͱɺ໊લۭؒͱϑΝΠϧͷύε͕Ұக͢ΔΑ͏ʹઃܭ͢Δ͚ͩͰɺ PHP͕ΫϥεΛࣗಈతʹಡΈࠐΜͰ͘ΕΔΑ͏ʹͳΓ·͢ ໌ࣔతʹ `require`
·ͨ `include` ͢Δඞཁ͕ͳ͘ͳΓ։ൃޮ্ͱϥΠϒϥϦͱͷ߹ੑ͕ͱΕΔ
©Fusic Co., Ltd. 42 PHPΛࢧ͑ΔϑϨʔϜϫʔΫ ॳֶऀʹର࣮ͯ͠ફΛอ͠ͳ͕Β্ڃऀʹରͯ͠։ൃ্ʹد༩ ࣮ෆඋΛࢭͯ͠ηΩϡϦςΟ্ʹܨ͕Δ - Laravel -
Laminas - Symfony - CodeIgniter - CakePHP
©Fusic Co., Ltd. 43 ϑϨʔϜϫʔΫʹΑΔ։ൃ্ʢDBଓͷྫʣ - σʔλϕʔεใͷઃఆ - σʔλϕʔεଓใΛઃఆ -
PDOͰDBଓ࡞ - PDOΛ༻ͯ͠DBʹଓ - ΤϥʔϞʔυઃఆ - ΤϥʔϞʔυΛྫ֎ʹઃఆ - SQLΫΤϦ४උ - IdΛ݅ʹΫΤϦΛ४උ - SQLΫΤϦ࣮ߦ - ΫΤϦΛ࣮ߦ͠σʔλऔಘ - ݁Ռͷऔಘ - ΫΤϦ݁Ռ͔ΒϢʔβʔใऔಘ - ྫ֎ॲཧ - DBଓΤϥʔ࣌ʹΤϥʔϝοηʔδදࣔ
©Fusic Co., Ltd. 44 ϑϨʔϜϫʔΫʹΑΔ։ൃ্ʢLaravelͷ߹ʣ ઌఔͷॲཧΛʮ͜ΕΛɺ͜͏ͯ͠ɺ͜͏͡Όʂʯ ͱ͍ͬͨϨϕϧͰॲཧՄೳ ߹ΘͤͯSQLΠϯδΣΫγϣϯͳͲͷ ඪ४తͳηΩϡϦςΟͷରࡦߦͬͯ͘Ε͍ͯΔҝ ։ൃޮͱηΩϡϦςΟͷ྆໘Λ
ߴ͍ϨϕϧͰ্ͯ͘͠Ε͍ͯΔ
©Fusic Co., Ltd. 45 PHP༷ʑͳਓʑʹࢧ͑ΒΕ͍ͯΔ PHPͷඇӦརஂମʮPHP Foundationʯ LaravelɺSymfonyͳͲͷϑϨʔϜϫʔΫίϛϡχςΟ ComposerɺPHPUnitͳͲͷΦʔϓϯιʔεϓϩδΣΫτͷίϛϡχςΟ ίϛϡχςΟϓϥοτϑΥʔϜPHP.netΛࢧ͑ΔεϙϯαʔΠϯϑϥఏڙاۀ
https://www.php.net/thanks.php
©Fusic Co., Ltd. 46 ࢲୡ͕PHPͱڞʹະདྷΛΔͨΊʹग़དྷΔ͜ͱ PHP͕ਐԽ͖ͯͨ͠ྺ࢙ʹ༷ʑͳࣄΛΓӽ্͑ͨͰͷ ։ൃऀͨͪͷྗͷɺڧྗͳΤίγεςϜ͕ߏங͞Ε͍ͯ·͢ ࠓޙPHP͕ಁ໌ੑͷ͋Δਖ਼͍͠ਐԽΛଓ͚Δ͜ͱ༰қʹ૾Ͱ͖·͢ ΤίγεςϜͷ্ͰߏஙΛਐΊΔ͏͑ͰPHPͷߩݙΛҙࣝͯ͠Β͑Δͱ͍Ͱ͢ -
OSSͷ։ൃOSSͷίϯτϦϏϡʔτ - PHPΧϯϑΝϨϯεԭೄͷΑ͏ͳΧϯϑΝϨϯεͰͷݟڞ༗ - ߋʹ౿ΉࠐΈPHPຊମͷ։ൃʹՃΘΔํ๏ͷࡧ
©Fusic Co., Ltd. 47 PHPͷྺ࢙ʹݟΔࢲୡ͕PHPΛॻ͍͍ͯͯྑ͍ཧ༝ PHPͷྺ࢙Λඥղ͘ͱ༷ʑͳ՝Λܦͯਖ਼͍͠ਐԽͷྺ࢙͕֬ೝͰ͖ͨ ͦͷྺ࢙ࣗମ͕ʮࢲୡ͕PHPΛॻ͍͍ͯͯྑ͍ཧ༝ʯͷূ໌ͱߟ͑·͢ ͦΜͳPHPʹࢧ͑ΒΕ͍ͯΔதͰɺͦͷΤίγεςϜΛޙԡ͍ͨ͠͠ ίϛϡχςΟͷҰһͱͯ͠PHPΤίγεςϜΛࢧ͑ΔखஈΛࡧ͠·͠ΐ͏
©Fusic Co., Ltd. 48 ·ͱΊ 6
©Fusic Co., Ltd. 49 ·ͱΊ PHPͦͷྺ࢙ͷதͰਐԽΛଓ͚ɺύϑΥʔϚϯεηΩϡϦςΟͷ໘Ͱେ෯ͳվળΛ࣮ݱ Point 01 ٕज़ࢤͷਂ͍ΤϯδχΞͱɺαʔϏεࢤͷ։ൃऀํʹରԠͰ͖Δॊೈੑ͕͋Δ Point
02 ๛ͳϑϨʔϜϫʔΫͱ׆ൃͳίϛϡχςΟͷࢧԉʹΑΓɺ։ൃͷޮԽͱඪ४Խ͕ਐΜͰ͍Δ Point 03 ͥͻPHPerͱͯ͠શੈքϨϕϧͰͷPHPίϛϡχςΟΛࢧ͑Δ׆ಈΛݕ౼͍ͩ͘͞ Point 04
©Fusic Co., Ltd. 50 Thank You We are Hiring! https://recruit.fusic.co.jp/
͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠