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
2.1k
0
Share
stdClassって一体何者なんだ?!/Who the hell is stdClass?
3/24 PHPer Kaigi 2023 Day1 LT
寺西帝乃
March 24, 2023
Other Decks in Technology
See All in Technology
ThetaOS - A Mythical Machine comes Alive
aslander
0
230
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
650
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
180
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
150
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
130
OpenClaw初心者向けセミナー / OpenClaw Beginner Seminar
cmhiranofumio
0
150
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
130
Bref でサービスを運用している話
sgash708
0
220
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
140
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
260
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
520
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Optimizing for Happiness
mojombo
378
71k
GitHub's CSS Performance
jonrohan
1032
470k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Amusing Abliteration
ianozsvald
1
150
BBQ
matthewcrist
89
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Are puppies a ranking factor?
jonoalderson
1
3.2k
Navigating Weather and Climate Data
rabernat
0
150
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
140
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
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͕ྑ͍ѻ͍Λͯ͠Β͑Δ͜ͱΛئ͏