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
stdClassって一体何者なんだ?!/Who the hell is stdClass?
Search
寺西帝乃
March 24, 2023
Technology
0
1.3k
stdClassって一体何者なんだ?!/Who the hell is stdClass?
3/24 PHPer Kaigi 2023 Day1 LT
寺西帝乃
March 24, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
dxd2024-生成AIに振り回された3か月間の成功と失敗/dxd2024-link-and-motivation
lmi
2
260
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
Datadog Cloud SIEMを使ってAWS環境の脅威を可視化した話/lifeistech-datadog-cloud-siem
gidajun
0
480
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
220
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
ここがすごいよ! AWS Systems Manager!
saichan11
0
1.8k
RAGのサービスをリリースして1年3ヶ月が経ちました
segavvy
4
900
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
160
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
エンジニア向け会社紹介資料
caddi_eng
14
220k
Featured
See All Featured
Optimizing for Happiness
mojombo
373
69k
BBQ
matthewcrist
82
9k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Web Components: a chance to create the future
zenorocha
307
41k
The Pragmatic Product Professional
lauravandoore
29
6.1k
Atom: Resistance is Futile
akmur
261
25k
Building an army of robots
kneath
301
42k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Transcript
ʁ גࣜձࣾϥΫε ࣉ ఇ೫ stdClassって⼀体何者なんだ︖︕
⾃⼰紹介 ࣉ ఇ೫ (ͯΒʹ͠ ͍ͩͳ) • גࣜձࣾϥΫε • νϟοτσΟʔϥʔ։ൃ՝ •
໊લͷ༝དྷϧτϥϚϯ ܦྺ • େࡕߴઐˠେֶਐֶ (2022ଔ) • ΤϯδχΞྺ 11Χ݄ • PHPྺ 8Χ݄
こんなことをお話しします︕ こんな⽅にオススメ︕ ✓ TUE$MBTT͕Α͘Θ͔Βͳ͍ॳ৺ऀ1)1FS ✓ ࠓ·ͰͳΜͱͳ͖ͬͯͨ͘தݎ1)1FS ✓ ࠓޙTUE$MBTTΛม͑ͯ͘ΕΔϕςϥϯ1)1FS TUE$MBTTͷੜํ๏
TUE$MBTTʹͰ͖Δ͜ͱɾͰ͖ͳ͍͜ͱ TUE$MBTTʹؔ͢Δٞ ͱ͋Δ։ൃऀͷߟ͑
1. stdClassの⽣成⽅法 ✓ OFXԋࢉࢠΛͬͨΠϯελϯεԽ ✓ ΦϒδΣΫτܕͷஔ ✓ ͍ΖΜͳؔͷฦΓͱͯ͠औಘ
2. stdClassにできること・できないこと 連想配列みたいに値を格納できるよ︕
連想配列みたいに値を格納できるよ︕ 2. stdClassにできること・できないこと 似たことができるのに配列と 書き⽅が異なるからややこしいね
2. stdClassにできること・できないこと 配列みたいにforeach⽂で回せるよ︕
2. stdClassにできること・できないこと 配列型みたいにforeach⽂で回せるよ︕ 配列の関数は使えないけどね・・・ ex) array_map, array_filer, array_merge, count, …
2. stdClassにできること・できないこと stdClassを継承したら動的プロパティを使えるよ︕
stdClassを継承したら動的プロパティを使えるよ︕ 2. stdClassにできること・できないこと 意図しないプロパティが⽣成されても 検知できないけどね。 PHP8.2で議論になってたのに・・・
ごめん、君苦⼿かも。 2. stdClassにできること・できないこと 結局stdClassって 何者なん︖︖
3. stdClassに関する議論 .BLJOHTUE$MBTTJUFSBCMF ✓TUE$MBTT5SBWFSTBCMFΠϯλʔϑΣʔεΛ࣮͢Δ ✓TUE$MBTTΛྻͱಉ͡ѻ͍ʹ͢Δ Ԡ ✓TUE$MBTT͕ྻͷΑ͏ͳΘΕํΛ͍ͯ͠Δೝ͍ࣝͯ͠Δ ✓ؔʹྻΛฦ͢Α͏ཁٻ͢Εྑ͍ ✓TUE$MBTTͷҙຯΛׂ͑ͨΛ࣋ͨͤΔͷࢍಉͰ͖ͳ͍
3. stdClassに関する議論 "MJBTTUE$MBTTUP%ZOBNJD0CKFDU ✓%ZOBNJD0CKFDUͱ͍͏ΤΠϦΞεΛՃ͢Δ ✓TUE$MBTTͷ໊લͱׂʹဃ͕͋Δ͔Β Ԡ ✓ଟ͘ͷࢍಉΛಘ͍ͯͨ ✓͔͠͠طଘίʔυɺςετίʔυͷӨڹ͕ൣғ ✓ӨڹͷׂʹϝϦοτ͕গͳ͍
4. とある開発者の考え Nikita Popov
4. とある開発者の考え Mind you, stdClass is an anti-pattern. Instead of
stdClass you should just be using an array. We should never have added stdClass. Nikita Popov
4. とある開発者の考え Mind you, stdClass is an anti-pattern. Instead of
stdClass you should just be using an array. We should never have added stdClass. Nikita Popov ʢಈతϓϩύςΟͱಉ͡Α͏ʹ TUE$MBTTഇࢭʹ͔ͨͬͨ͠Ζ͏ͳʣ
まとめ TUE$MBTTͬͯҰମԿऀͳΜͩʁʂ ✓1)1Ҏ߱ͰಈతϓϩύςΟ͕͑ΔۭͷΫϥε ✓ϨΨγʔίʔυͰྻͷΑ͏ͳΘΕํΛ͍ͯ͠Δ TUE$MBTTͷཱͪҐஔ ✓ྑ͘ࢥ͍ͬͯͳ͍։ൃऀ͕Ұఆଘࡏ͢Δ ✓ͨͩ͘͠ΘΕ͍ͯΔͨΊɺͳ͔ͳ͔มߋͰ͖ͳ͍ ✓ࠓޙTUE$MBTT͕ྑ͍ѻ͍Λͯ͠Β͑Δ͜ͱΛئ͏