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で常に象を意識する方法
Search
Shinya Saita
July 13, 2026
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPで常に象を意識する方法
PHPのマスコットであるあの象を普段意識することって少ないですよね。
なので、それを嫌でも意識する方法を考えました。
Shinya Saita
July 13, 2026
More Decks by Shinya Saita
See All by Shinya Saita
PHP8.5は「戻り値の無視」をどう見抜くのか 〜voidキャストの裏側〜
shinyasaita
0
60
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
460
エンジニアの示唆に溢れている漫画『HUNTER×HUNTER』
shinyasaita
0
220
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
450
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
940
Chrome拡張機能で会議の遅刻・延長を解消した話
shinyasaita
0
130
Claude Code 珍プレー好プレー
shinyasaita
0
480
失敗を資産に変えるClaude Code
shinyasaita
0
2k
みんなが知らないトランプの世界
shinyasaita
0
39
Other Decks in Technology
See All in Technology
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
320
メルペイ 会計システム概要と歴史
mewuto
0
200
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
330
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
110
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
570
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
340
今さら理解するウェブフォントver.2026
takanorip
3
490
20260930_Gemma4_Hands-on
tsho
0
240
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
560
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
2
580
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
Accessibility Awareness
sabderemane
1
240
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Visualization
eitanlees
153
17k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
BBQ
matthewcrist
90
10k
It's Worth the Effort
3n
188
29k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Documentation Writing (for coders)
carmenintech
77
5.6k
Transcript
1)1ͰৗʹΛҙࣝͰ͖Δ ํ๏ͷڞ༗ ʙͦͷ໊1"0ʙ ੪ాਅ ؔ1)1ษڧձ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ࣗݾհ ੪ాਅʢ͍ͨ͞͠Μʣ 8FCܥΤϯδχΞ ژग़ɾฌݿࡏॅ झຯɿͷͮ͘Γશൠ ಛٕɿΧʔυϚδοΫ (JU)VCTIJOZB9!TBJUB@TIJOZB
࡞ͬͯΔͷ #PLVDIJ ࣗ࡞ͷ.BSLEPXOΤσΟλʢ044ʣ 5BVSJ 3FBDU 3VTU ʢ1)1ͪΌ͏Μ͚ʣ IUUQTCPLVDIJDPN
ϊϕϧςΟ͠·͢ εςοΧʔ #PLVDIJͷϩΰ ᐼʢ͓͠Γʣ ཪ໘͕.BSLEPXOνʔτγʔτ ৭Μͳॻ͖ํΛܝࡌ ٕज़ॻʹڬΜͰ͑Δ
ຊ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ಥવͰ͕͢ 1)1ͷϚείοτΩϟϥɺ ͝ଘͰ͔͢ʁ ͍ͭ͜ͷ໊લ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
&MF1)1BOU ʢΤϨϑΝϯτʣ ͦͷ·Μ·ͳ͍͔͍ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
໊લͷ༝དྷ &MF1)1BOUʜΑ͘ݟΔͱ໊લʹ PHP ͕ೖͬͯΔ ͦͯ͠ PHP ͷจࣈΛ่͍ͯ͘͠ͱκͷܗʹͳΔΒ͍͠ ͨɺ͔ͨ͠ʹʁ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
Ͱʜʜ ීஈ1)1Λॻ͍͍ͯͯɺ ͜ͷκΛۙʹײ͡Δ͜ͱɺ ʜʜͳ͍Ͱ͢ΑͶʁ ΄ΜͰɺͳΜͰυϠإͶΜ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ͬͱΛײ͡Δํ๏͕ແ͍ͷ͔ ͍͖ͬͱ͋ΔͩΖ͏ ͦ͜ʂʮผʹײͨ͘͡ͳ͍ͱ͔ʯݴͬͯΜ͡Όͳ͍Α ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ͩͬͨΒ࡞Ζ͏ 1)1Λॻ͖ͳ͕Β ৗʹκΛҙࣝͰ͖Δݴޠ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ͦͷ໊ 1"0 1)1"OJNBM0SJFOUFE ʙ1"0ͱॻ͍ͯύΦʔϯͱಡΈ·͢ʙ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
001ͳΒ͵"01 ੈ·͞ʹΦϒδΣΫτࢦ ʢ0CKFDU0SJFOUFE1SPHSBNNJOHʣͷ࣌ Ͱ1"0͕ఏএ͢Δͷʜʜ "OJNBM0SJFOUFE1SPHSBNNJOH ʢಈࢦϓϩάϥϛϯάʣ ॻ͚ॻ͘΄Ͳίʔυ͕ಈʹۙͮ͘ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
1"0ͱ ϕʔε 1)1ʢϑΥʔΫͯ͠Ϗϧυʣ ༧ޠΛશ෦ʮκͷ໐͖ʯʹஔ͖͚͑ͨͩ ֦ுࢠ .pao ͺ͓ͺ Animal { //
class ύ͓ ͺ cry(): string { // public function ύ "ύΦʔϯ"; // return } } ˠίʔυ͕κͷ໐͖ͰຒΊਚ͘͞ΕΔ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
໐͖Τϯίʔυ༷ ͨͬͨͭͷه߸Ͱશ༧ޠΛදݱ͢Δ ͺɾύɾ͓ɾΦ Իઅʢจࣈʣ ͺ͓ ύΦ ͺΦ
ύ͓ ඌʹ୯ಠ ͺ ύ Λ͚ͯح0, සॱʹ͍ه߸ΛׂʢΑ͘͏ޠ΄Ͳ͍ʣ શޠɾ࠷ͨͬͨจࣈ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
Ϛοϐϯάྫʢൈਮʣ 1)1 1"0 1)1 1"0 function ͺ class ͺ͓ͺ return
ύ public ύ͓ if ͺ͓ foreach ύΦͺ echo ύΦ as ύΦύ new ͺΦ __halt_compiler ͺ͓ͺΦͺ͓ ϨΞ༧ޠ΄Ͳ໐͖͕͘ͳΓ·͢ɾɾɾʂ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
#FGPSFɿී௨ͷ1)1'J[[#V[[ for ($i = 1; $i <= 100; $i++) {
if ($i % 15 === 0) { echo "FizzBuzz"; } elseif ($i % 3 === 0) { echo "Fizz"; } elseif ($i % 5 === 0) { echo "Buzz"; } else { echo $i; } echo PHP_EOL; } ΈΜͳେ͖ɺ͓ͳ͡Έͷ'J[[#V[[ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
"GUFSɿ1"0Ͱॻ͘ͱʜ ͺΦͺ͓ ($ύΦ = 1; $ύΦ <= 100; $ύΦ++) {
ͺ͓ ($ύΦ % 15 === 0) { ύΦ "ͺ͓ύΦʔϯ"; } ύ͓ͺΦͺ ($ύΦ % 3 === 0) { ύΦ "ͺ͓"; } ύ͓ͺΦͺ ($ύΦ % 5 === 0) { ύΦ "ύΦʔϯ"; } ͺ͓ύ { ύΦ $ύΦ; } ύΦ PAO_PAO; } ը໘͕શ෦ͷ໐͖ʹʢԿ͔Θ͔ΒΜʣ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
Έ ࣈ۟ղੳثΛվ Zend/zend_language_scanner.l ͷ༧ޠϦςϥϧΛ໐͖ʹஔˠSFDͰ ࠶ੜˠ make มπʔϧ token_get_all()
Ͱਖ਼֬ʹτʔΫϯղ͠༧ޠ͚ͩஔ ʢจࣈྻίϝϯτͷதͷʮύΦʯյ͞ͳ͍ʹʣ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ϥΠϒσϞ͠·͢ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
ຯʹͩ͜Θͬͨ 1"0൛ .pao Λਖ਼࣮͘͠ߦ͢Δ 1"0൛ී௨ͷ1)1Λ࣮ߦͰ͖ͳ͍ ༧ޙॻ͖͍͑ͯΔͷͰવରԠͰ͖ͳ͍ มจࣈྻɾίϝϯτΛյ͞ͳ͍ php →
pao → php ͷม͕Մೳ ม༻ͷεΫϦϓτͰՄٯੑ͕͋Δ ܕώϯτ࡞Ζ͏͔ͱࢥ͕ͬͨɾɾɾ ػೳͤͯ͞Կͷͬͪ͜ΌΘ͔ΒΜͷͰஅ೦ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
࣮ݩωλ͕͋Γ·͢ ͪͳΈʹ͜ͷωλɺશΦϦδφϧͰ͋Γ·ͤΜ IUUQTCMPHEBNFOJOOHFOODPNFOUSZ XFSMͷΦϚʔδϡͱͯ͠1)1ͰͬͯΈ·ͨ͠ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ 1FSMͷ༧ޠΛશ෦ w ʹͨ͠XFSM ʢCZμϝਓؒ͞Μʣ “
“ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB
·ͱΊ 1)1Λॻ͚ॻ͘΄Ͳκ͕໐͘ݴޠ1"0 Έͳ͞ΜΛײ͡ͳ͕Βϓϩάϥϛϯά͠·͠ΐ͏ʂ ύΦʔϯʂʂ ը૾Ҿ༻ݩ IUUQTQIQDPNFMFQIQBOU IUUQTKBXJLJQFEJBPSHXJLJ1)1@ ϓϩάϥϛϯάݴޠ ؔ1)1ษڧձ1)1ͰৗʹΛҙࣝ͢Δํ๏ ੪ాਅ!ؔ1)1ษڧձ(JU)VCTIJOZB9!TBJUB@TIJOZB