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
Shinya Saita
July 13, 2026
Technology
51
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
Claude Code 珍プレー好プレー
shinyasaita
0
320
失敗を資産に変えるClaude Code
shinyasaita
0
1.3k
みんなが知らないトランプの世界
shinyasaita
0
26
AI Agentのメモリを覗いてちょっと焦った話
shinyasaita
0
100
北海道でしょう〜2017年の記録〜
shinyasaita
0
18
とりあえず『End of Eternity』がめっちゃ面白いから、まあ話を聞いてくれ
shinyasaita
0
16
サプライチェーン攻撃とWebエンジニアの日常
shinyasaita
0
67
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
510
個人開発のターニングポイント
shinyasaita
1
130
Other Decks in Technology
See All in Technology
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
310
SRE Lounge Hiroshimaへの招待
grimoh
0
640
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
220
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
AICoEでAIネイティブ組織への進化
yukiogawa
0
140
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
470
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
150
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.3k
知らん間に、回ってる
ming_ayami
0
460
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
720
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
170
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
3.4k
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
HDC tutorial
michielstock
2
740
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
A Tale of Four Properties
chriscoyier
163
24k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Being A Developer After 40
akosma
91
590k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
The Curse of the Amulet
leimatthew05
2
13k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.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