$30 off During Our Annual Pro Sale. View Details »
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.9k
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
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
980
regrowth_tokyo_2025_securityagent
hiashisan
0
200
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
220
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
670
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
1
600
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
770
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
260
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
450
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
490
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
460
因果AIへの招待
sshimizu2006
0
940
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Mobile First: as difficult as doing things right
swwweet
225
10k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
What's in a price? How to price your products and services
michaelherold
246
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
The Invisible Side of Design
smashingmag
302
51k
How to train your dragon (web standard)
notwaldorf
97
6.4k
KATA
mclloyd
PRO
32
15k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Faster Mobile Websites
deanohume
310
31k
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͕ྑ͍ѻ͍Λͯ͠Β͑Δ͜ͱΛئ͏