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
PHP8をざっくり解説してみる
Search
大塚真言
January 23, 2021
Programming
0
320
PHP8をざっくり解説してみる
大塚真言
January 23, 2021
Tweet
Share
More Decks by 大塚真言
See All by 大塚真言
自社プロダクトを作ってみた.pdf
shingen29
0
290
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
110
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
290
ユースケース駆動開発で自社プロダクトを作ってみた!
shingen29
1
7.4k
MDN Web Docsから学ぶ 公式ドキュメントを読むメリット
shingen29
0
890
最近のプロジェクトを振り返ってみる
shingen29
0
390
Style Guideとstylelintを使ってHTML/CSSを綺麗に書こう!
shingen29
2
870
Stripe CLIを触ってみた!
shingen29
1
240
プロジェクト管理ツールとしてGitLabと向き合ってみる
shingen29
0
110
Other Decks in Programming
See All in Programming
CSC305 Lecture 06
javiergs
PRO
0
250
XP, Testing and ninja testing ZOZ5
m_seki
3
700
Software Architecture
hschwentner
6
2.3k
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
0
110
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
280
Swift Concurrency - 状態監視の罠
objectiveaudio
2
540
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
CSC509 Lecture 04
javiergs
PRO
0
300
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
460
開発生産性を上げるための生成AI活用術
starfish719
3
1.2k
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
2
560
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
Featured
See All Featured
Building an army of robots
kneath
306
46k
Site-Speed That Sticks
csswizardry
13
910
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
YesSQL, Process and Tooling at Scale
rocio
173
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Language of Interfaces
destraynor
162
25k
Context Engineering - Making Every Token Count
addyosmani
7
260
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Unsuck your backbone
ammeep
671
58k
Practical Orchestrator
shlominoach
190
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Transcript
PHP8Λͬ͘͟Γղઆͯ͠ΈΔ 2021/1/22 WebφΠτٶ࡚ vol.12 େ௩ਅݴ
ࣗݾհ
ࣗݾհ -BSBWFM 7VFKT 'JSFCBTF αφେ͖ͳ8FCΤϯδχΞ
ձࣾհ ߹ಉձࣾϊϚυϦ ۀظ ϝϯόʔ໊ 8FCαʔϏε։ൃ &$αΠτ։ൃ
202011݄26 Կͷʁ
ͷੜ
Ͱͳ͘
PHP8ͷੜ ʢϦϦʔεʣ
ओͳมߋ • JITίϯύΠϧʹΑΔੑೳվળ • Nullsafeԋࢉࢠʢψϧ҆શΦϖϨʔλʣ • Unionܕ • Matchࣜ •
ଞʹଟ
ͦͷલʹ Ξϯέʔτ
ͲͷόʔδϣϯΛͬͯΔʁ 1. PHP 5.x 2. PHP 7.0ʙ7.2 3. PHP 7.3ʙ7.4
4. PHP 8.0
ҎԼ 7.4 7.3 7.2 7.0-7.1 5.6 5.5ҎԼ IUUQTXUFDITDPNUFDIOPMPHJFTEFUBJMTQMQIQ όʔδϣϯ͝ͱͷ༻
PHP8ͷ৽ػೳ
JITίϯύΠϧ • JITʢJust-in-Time Compilerʣ˞࣮ߦ࣌ίϯύΠϥ • ίʔυΛϝϞϦʔʹΩϟογϡ͢ΔOPCacheͱซ༻ • ωΠςΟϒίʔυΛϝϞϦʔʹΩϟογϡ͢Δ͜ͱͰϓϩ άϥϜ࣮ߦΛߴԽ •
ΞϧΰϦζϜܥॲཧͰ2~3ഒఔ࣮ߦ্͕ͨ͠ɺ WordPressͳͲͷWebΞϓϦέʔγϣϯͰ%ఔ͔͠ ্͠ͳ͍
Nullsafeԋࢉࢠ DPVOUSZOVMM JG TFTTJPOOVMM \ VTFSTFTTJPOVTFS JG VTFSOVMM \ BEESFTTVTFSHFU"EESFTT
JG BEESFTTOVMM \ DPVOUSZBEESFTTDPVOUSZ ^ ^ ^ DPVOUSZTFTTJPO VTFS HFU"EESFTT DPVOUSZ 1)1 1)1 ifจʹΑΔnullνΣοΫ͕ෆཁʹͳΔ
Unionܕ !QBSBNqPBUcJOUOVNCFS QVCMJDGVODUJPOTBNQMF OVNCFS \
FDIPOVNCFS ^ UIJTTBNQMF UFHFIPHF ࣮ߦՄೳ QVCMJDGVODUJPOTBNQMF qPBUcJOUOVNCFS \ FDIPOVNCFS ^ UIJTTBNQMF UFHFIPHF ࣮ߦΤϥʔ 1)1 1)1 ࣮ߦ࣌ʹUnionܕͷܕνΣοΫ͕Ͱ͖Δ 1)1ͰΞϊςʔγϣϯ ʹΑΔิ
Matchࣜ TXJUDI \ DBTF SFTVMU0IOP CSFBL DBTF SFTVMU5IJTJTXIBU*FYQFDUFE CSFBL
^ FDIPSFTVMU 0IOP FDIPNBUDI \ 0IOP 5IJTJTXIBU*FYQFDUFE ^ 5IJTJTXIBU*FYQFDUFE 1)1 1)1 ݫີͳൺֱɺbreakจ͕ෆཁ
·ͱΊ • JITίϯύΠϧ͕ಋೖ͞Ε͕ͨɺ࣮ӡ༻ͷWebΞ ϓϦͷੑೳ্͋·ΓظͰ͖ͳ͍ • MatchࣜNullsafeԋࢉࢠΛ͏͜ͱͰεϦϜ ͳίʔυΛॻ͚Δ • Unionܕ͕Ճ͞ΕɺܕγεςϜ͕ΑΓڧݻʹ ͳͬͨ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ