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
220
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
第41回関西PHP勉強会 のLT資料です。プロパティフックとレイジーオブジェクトについての話です。
Hisateru Tanaka
December 12, 2024
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
どうなる Remix 3
tanakahisateru
2
340
哲学史とモデリング
tanakahisateru
4
860
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.5k
君たちはどうプログラミングするか
tanakahisateru
16
2.8k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
650
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.8k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.6k
まんがのかきかた
tanakahisateru
8
740
Other Decks in Programming
See All in Programming
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
250
ドメイン駆動設計のエッセンス
masuda220
PRO
15
7.6k
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
300
Dive into Triton Internals
appleparan
0
470
ビルドプロセスをデバッグしよう!
yt8492
0
270
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
48k
Researchlyの開発で参考にしたデザイン
adsholoko
0
110
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
360
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
180
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2.1k
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
6.1k
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
750
Featured
See All Featured
Designing for Performance
lara
610
69k
Producing Creativity
orderedlist
PRO
348
40k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
It's Worth the Effort
3n
187
28k
Balancing Empowerment & Direction
lara
5
730
Git: the NoSQL Database
bkeepers
PRO
431
66k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Making Projects Easy
brettharned
120
6.4k
Agile that works and the tools we love
rasmusluckow
331
21k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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