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.7k
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
Snowflake Intelligenceで実現できるノーコードAI活用
takumimukaiyama
1
220
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
460
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
170
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
340
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
150
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
220
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
2
640
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
160
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
380
「実体」で築く共通認識: 開発現場のコミュニケーション最適化 / Let's Get on the Same Page with Concrete Artifacts: Optimization of Communication in dev teams
kazizi55
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
Featured
See All Featured
Done Done
chrislema
184
16k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Agile that works and the tools we love
rasmusluckow
329
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
The Cult of Friendly URLs
andyhume
79
6.4k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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͕ྑ͍ѻ͍Λͯ͠Β͑Δ͜ͱΛئ͏