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
PHPで常に象を意識する方法
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shinya Saita
July 13, 2026
Technology
75
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
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
390
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
700
Chrome拡張機能で会議の遅刻・延長を解消した話
shinyasaita
0
120
Claude Code 珍プレー好プレー
shinyasaita
0
410
失敗を資産に変えるClaude Code
shinyasaita
0
1.6k
みんなが知らないトランプの世界
shinyasaita
0
32
AI Agentのメモリを覗いてちょっと焦った話
shinyasaita
0
130
北海道でしょう〜2017年の記録〜
shinyasaita
0
21
とりあえず『End of Eternity』がめっちゃ面白いから、まあ話を聞いてくれ
shinyasaita
0
22
Other Decks in Technology
See All in Technology
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
210
My broken English still works: speaking at global OSS events
naruoga
0
100
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9k
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
110
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
130
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
110
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
140
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.3k
第3回しろおびセキュリティスポンサーセッション
log0417
0
200
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
240
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
320
How to Talk to Developers About Accessibility
jct
2
510
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Amusing Abliteration
ianozsvald
1
250
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
340
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
940
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
860
Become a Pro
speakerdeck
PRO
31
6.2k
It's Worth the Effort
3n
188
29k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
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