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 8.4 に入った新機能の紹介-
Search
Hisateru Tanaka
December 12, 2024
Programming
2
210
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
第41回関西PHP勉強会 のLT資料です。プロパティフックとレイジーオブジェクトについての話です。
Hisateru Tanaka
December 12, 2024
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
哲学史とモデリング
tanakahisateru
4
850
オブジェクト指向宗教史
tanakahisateru
32
17k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.4k
君たちはどうプログラミングするか
tanakahisateru
16
2.8k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
640
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.7k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.6k
まんがのかきかた
tanakahisateru
8
730
10秒で衝突するUUIDの作り方
tanakahisateru
40
41k
Other Decks in Programming
See All in Programming
dynamic!
moro
9
5.6k
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
440
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
860
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1k
Model Pollution
hschwentner
1
180
クラシルを支える技術と組織
rakutek
0
190
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
290
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
150
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
140
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
670
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3.2k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Being A Developer After 40
akosma
91
590k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Cult of Friendly URLs
andyhume
79
6.6k
Navigating Team Friction
lara
189
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Designing Experiences People Love
moore
142
24k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Ace a Technical Interview
jacobian
280
23k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
ͳ·͚ͷΦόέͨͪ 1)1ʹೖͬͨ৽ػೳͷհ
ాதͻͯ͞Δ
͜͏͍͏ঢ়گʹ͍ͭͯͷΛ͠·͢ w "VUIPS͕ෳͷ#PPLΛࣥච w ͋ΔϏϡʔͰʮຊͷλΠτϧʯ͚ͩදࣔ w ผͷϏϡʔͰʮຊͷஶऀ໊ʯදࣔ
w ͕͋Δ͔Βͱ#PPLΛৗʹ"VUIPS͖Ͱੜ ͢Δͱɺ ͷͱ͖ແବʹͳΔ
͜Μͳͷݏͩ Ϗϡʔͷύλʔϯʹ͝ͱʹҟͳΔϞσϧΛ࡞Δͷ͔
Ͱɺ΄Ͳલʹ࡞ͬͨͷ͕͜Ε w ҙ֎ͱΘΕͨϑϨʔϜϫʔΫ w ϓϨθϯςʔγϣϯϞσϧϓϩύ ςΟͷԆධՁ͕͋Δࣙॻ w $book->registerAsLazy('author', ...) w
CPPLBVUIPS ࣮ࡍʹߦΘΕͨͱ͖ॳΊ࣮ͯମԽ
શʹΛऴ͑·ͨ͠ 1)1ͳΒඪ४ͰಈతධՁԆධՁՄೳʹ w ϓϩύςΟϑοΫ w ϨΠδʔΦϒδΣΫτ
ಈతධՁϓϩύςΟϑοΫ
Կ͕ͦΜͳʹخ͍͠ͷ w ݹ͘HFUUFSϝιου getFullName()ͱ͔ Ͱ͍ͬͯͨ͜ͱ w 1)1ίϯετϥΫλϓϩϞʔγϣϯ ͱSFBEPOMZ Ͱৗ͕ࣝมΘͬͨ w
͏ૉͳσʔλܕͳΒˢͷQVCMJDϓϩύςΟͰͥΜͥΜ͍͍Α w جຊશͯQVCMJDϓϩύςΟͰ͓͚͍͍ͬͯ ˠ͋ͱͰԿ͔ܭࢉ͕ඞཁʹͳͬͨΒɺ ˠϓϩύςΟϑοΫͰಁաతʹ͢Γସ͑Մೳ
͕࣍ຊ
ԆධՁϨΠδʔΦϒδΣΫτ
ී௨͜͏
ͳ·͚ͷΦόέͷ࡞Γ͔ͨ ͜ͷ࣌Ͱʮ"VUIPSʹ͔͠ݟ͑ͳ͍ΦόέʯΛݟͤΒΕ͍ͯΔ
͜͏ͳΔ ʮΦόέͷதʯΛཁٻ͢Δͱɺ͠Εͬͱຊʹ͢ΓସΘΔ
None
Կ͕ͦΜͳʹخ͍͠ͷ w &MPRVFOUͱ͔ʹґଘ͠ͳͯ͘ϨΠδʔϩʔυͰ͖Δσʔλߏ͍͍ͧ w ϨΠδʔՄೳͳͷʹϞσϧͷ୯ମςετΛϑϨʔϜϫʔΫಠཱʹͰ͖Δ w %PDUSJOF03.ͷ&OUJUZ࣮ࡍͦ͏ w ϥΠϒϥϦͰPDSBNJVTQSPYZNBOBHFS w
ʮ1)1Ҏ্ʯͱݴ͏͚ͩͰɺͦ͏͍͏ͷͱಉ͡ʹͳΕΔ
/ ʹ͍ͭͯ w ͦΕɺ"DUJWF3FDPSEͷϦϨʔγϣϯγοϓ͕ʮ։ൃऀͷΒͳ͍ͱ͜Ζ Ͱʯىͩ͜͢ΑͶɻΠʔΨʔͷΦϓγϣϯΛΒͳ͔ͬͨͱ͔ w ։ൃऀ͕ʮͳ·͚ͷΦόέʯΛ͏ͷҙਤతʹ͠ͳ͍ͱى͖ͳ͍ w ʮ/ ͕ىͤ͜ΔʯͷΉ͠Ζɺʮ߹ʹΑͬͯͳ͔ͥϞσϧ͕ཧόά
Λى͜͢ʯͱ͍ͬͨ͜ͱΛ͙ɺϨΠδʔϩʔυͱ͍͏վળͷূڌ w ·ͣҰ؏ੑɺͦΕͰػೳ͕ਖ਼͘͠Ͱ͖ΔɺͦΕ͔ΒύϑΥʔϚϯε
1010Ͱ͍͜͏ 10101MBJO0ME1)10CKFDU +BWBͰ͍͏10+0