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
350
0
Share
PHP8をざっくり解説してみる
大塚真言
January 23, 2021
More Decks by 大塚真言
See All by 大塚真言
自社プロダクトを作ってみた.pdf
shingen29
0
320
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
140
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
330
ユースケース駆動開発で自社プロダクトを作ってみた!
shingen29
1
8k
MDN Web Docsから学ぶ 公式ドキュメントを読むメリット
shingen29
0
930
最近のプロジェクトを振り返ってみる
shingen29
0
420
Style Guideとstylelintを使ってHTML/CSSを綺麗に書こう!
shingen29
2
920
Stripe CLIを触ってみた!
shingen29
1
280
プロジェクト管理ツールとしてGitLabと向き合ってみる
shingen29
0
140
Other Decks in Programming
See All in Programming
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
130
JavaDoc 再入門
nagise
0
260
Swiftのレキシカルスコープ管理
kntkymt
0
210
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
130
New "Type" system on PicoRuby
pocke
1
430
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.3k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
エージェンティックRAGにAWSで入門しよう!
har1101
5
110
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
380
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Prompt Engineering for Job Search
mfonobong
0
330
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Claude Code のすすめ
schroneko
67
220k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
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ܕ͕Ճ͞ΕɺܕγεςϜ͕ΑΓڧݻʹ ͳͬͨ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ