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
PsySHを使った効率的なデバッグ方法について / How debug efficientl...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Futoshi Endo
March 25, 2023
Programming
2.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PsySHを使った効率的なデバッグ方法について / How debug efficiently using PsySH
Futoshi Endo
March 25, 2023
More Decks by Futoshi Endo
See All by Futoshi Endo
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
1.7k
【PHPerKaigi2026】OpenTelemetry SDKを使ってPHPでAPMを自作する
fendo181
2
530
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
1.5k
【PHPカンファレンス小田原2025】New RelicのAPMを活用したECサービスにおけるメール遅延解消の舞台裏
fendo181
1
4.5k
PHP8の機能を使って堅牢にコードを書く
fendo181
7
8.5k
Introduction to Typing Practice
fendo181
0
1.2k
PHP8によるデザインパターン入門 / Introduction to Design Patterns with PHP8
fendo181
2
5k
PHPerがGoに入門してみた/PHPer introduction to Go.
fendo181
0
6.1k
Laravel.shibuyaで改善してきた IRT勉強会の運営方法について / IRT Study Session Improved Through Laravel Shibuya
fendo181
0
2.7k
Other Decks in Programming
See All in Programming
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Kotlinの15年とServer-Side Kotlin
n_takehata
1
140
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
カツオ、ご期待ください
suneo3476
0
180
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
130
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
410
phperだってパンチカードでコーディングしたい
o0h
PRO
0
310
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
170
sbt 2.0: takeoff
eed3si9n
0
150
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.1k
The Rails Doctrine Decade
koic
2
570
Are APIs Still Relevant in the AI Era?
soyuka
0
460
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Product Roadmaps are Hard
iamctodd
55
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
How to Talk to Developers About Accessibility
jct
2
570
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Designing for humans not robots
tammielis
254
26k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Transcript
© 2012-2023 BASE, Inc. 2023/03/25 PHPerKaigi2023 LT PsySHを使った効率的なデバッグ方法について
© 2012-2023 BASE, Inc. 2 氏名:Futoshi Endo 所属:BASE株式会社 業務:バックエンド エンジニア
趣味:料理、音楽鑑賞、ゲーム PHP歴は6年。 好きなPHPの関数は array_map です。 • Endo Tech Blog • https://scrapbox.io/fendo181/ Fendo181 自己紹介
© 2012-2023 BASE, Inc. 今日の本題
© 2012-2023 BASE, Inc. 今日の本題 4 var_dump したけど ほしかった情報が 出てなかった...。
別の箇所でもう一度 var_dumpさせよう Xdebugの リモートデバッグを試そう としたけど、思った以上に 設定に時間がかかるなぁ... こんな経験ありませんか?
© 2012-2023 BASE, Inc. 今日の本題 5 debugの為にdebugしている...ってコト!?
© 2012-2023 BASE, Inc. 今日の本題 6 PsySHの良さを伝えにきました
© 2012-2023 BASE, Inc. アジェンダ
© 2012-2023 BASE, Inc. アジェンダ 8 • PsySHの紹介 • 基本的な使い方について
• おすすめのデバッグ方法 • まとめ • (参考文献の紹介)
© 2012-2023 BASE, Inc. PsySHの紹介
© 2012-2023 BASE, Inc. PsySHの紹介 10 • PsySH is a
runtime developer console, interactive debugger and REPL for PHP. ◦ REPL(Read-Eval-Print Loop) ◦ 2012年の6月からプロジェクトが開始されていた ▪ http://justinhileman.info/projects/ • PsySHはPHPの対話型シェル(REPL)であり、コードを実行しながら対話的にデバッ グや開発を行うことができる。 • コードを行単位で評価し結果を直接表示することができて、変数や関数オブジェクト の状態を確認する事ができて、デバッグがしやすくなる。 • Rubyだと binding.irb がイメージしやすい ◦ https://github.com/ruby/irb
© 2012-2023 BASE, Inc. PsySHの紹介 11 (https://github.com/ruby/irb) irb の例
© 2012-2023 BASE, Inc. PsySHの紹介 12 Psyshで同様の事を実行した例
© 2012-2023 BASE, Inc. PsySHの紹介 13 (https://github.com/ruby/irb)
© 2012-2023 BASE, Inc. 基本的な使い方について
© 2012-2023 BASE, Inc. 基本的な使い方について 15 インストール方法
© 2012-2023 BASE, Inc. 基本的な使い方について 16 呼び出し方について スクリプト内で呼び出す方法 ターミナルから呼び出す方法
© 2012-2023 BASE, Inc. 基本的な使い方について 17 var_dumpでデバッグした例
© 2012-2023 BASE, Inc. 基本的な使い方について 18 var_dumpでデバッグした例
© 2012-2023 BASE, Inc. 基本的な使い方について 19 psyshでデバッグした例
© 2012-2023 BASE, Inc. 基本的な使い方について 20 psyshでデバッグした例
© 2012-2023 BASE, Inc. おすすめのデバッグ方法
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 22
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 23 lsを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 24 lsを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 25 showを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 26 showを使ってみる
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 27
© 2012-2023 BASE, Inc. おすすめのデバッグ方法について 28 「$_ 」で直近の結果が取得できる
© 2012-2023 BASE, Inc. まとめ
© 2012-2023 BASE, Inc. 30 まとめ • PsySHについて紹介しました • PsySHを使う事で対話的にデバッグができて、素早く検証が出
来る! • 「PHPStorm + Xdebug」でも素早くデバッグができるが ちょっとした検証であれば PsySH でも十分に良い ◦ PHPで競技プログラミングをやっていると凄い助かる • デバッグ方法を極めて良い PHPer Lifeを!
© 2012-2023 BASE, Inc. 31 Thanks for listening !
© 2012-2023 BASE, Inc. 参考文献
© 2012-2023 BASE, Inc. 33 参考文献 • https://github.com/bobthecow/psysh • https://www.sitepoint.com/interactive-php-debugging-psysh/
• http://justinhileman.info/projects/ • https://github.com/bobthecow/psysh/wiki/Magic-variables • https://www.phper.ninja/entry/2015/11/10/031000 • https://github.com/bobthecow/psysh/wiki/Commands