Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
Search
Hisateru Tanaka
December 12, 2024
Programming
310
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
第41回関西PHP勉強会 のLT資料です。プロパティフックとレイジーオブジェクトについての話です。
Hisateru Tanaka
December 12, 2024
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
どうなる Remix 3
tanakahisateru
2
610
哲学史とモデリング
tanakahisateru
4
1.1k
オブジェクト指向宗教史
tanakahisateru
32
19k
ほげ言語にあってPHPにない機能
tanakahisateru
6
4.1k
君たちはどうプログラミングするか
tanakahisateru
16
3.4k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
740
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
10k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.9k
まんがのかきかた
tanakahisateru
8
790
Other Decks in Programming
See All in Programming
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
120
Seven New Principles of Software Engineering
yegor256
0
440
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
270
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
480
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
510
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
290
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
870
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
200
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.2k
My Coaching Mixtape
mlcsv
0
380
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Abbi's Birthday
coloredviolet
4
11k
Evolving SEO for Evolving Search Engines
ryanjones
0
350
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
Scaling GitHub
holman
464
140k
The Limits of Empathy - UXLibs8
cassininazir
2
760
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
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