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でのリーダブルコード/Readable code in PHP
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Y-KANOH
March 24, 2022
Technology
360
2
Share
PHPでのリーダブルコード/Readable code in PHP
Y-KANOH
March 24, 2022
More Decks by Y-KANOH
See All by Y-KANOH
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
180
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
18
6.1k
エンジニアは伝え方が9割/90% of what engineers need is communication skills
ykanoh
4
1.4k
PHPカンファレンス関西2024 クロージング/php kansai 2024 closing
ykanoh
0
150
PHPカンファレンス関西2024 オープニング/php kansai 2024 opening
ykanoh
2
360
PHP略語クイズ/PHP Abbreviation Quiz
ykanoh
1
3k
PHPカンファレンス関西2024スタッフ希望者向け説明会
ykanoh
0
450
PHPマジックメソッドクイズ!/PHP Magic Method Quiz
ykanoh
0
1.8k
PHPerが再利用可能な情報提供でオフショア先とコード品質向上に取り組む / PHPer try improve the code quality
ykanoh
1
1.5k
Other Decks in Technology
See All in Technology
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
170
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
250
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
250
TSKaigi 2026 - 型プラグインシステムの実装に使われるテクニック
teamlab
PRO
1
120
Geek Woman の育ち方 〜コミュニティとAIと〜
chicaco
0
160
"スキルファースト"で作る、AIの自走環境
subroh0508
1
650
その英語学習、AWSで代替できませんか?
suzutatsu
1
190
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
290
[4] Power BI Deep Dive [2026-05]
ohata_bi
0
110
GitHub Copilot appで変わる GitHub Copilot CLI開発体験
tomokusaba
0
110
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
650
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
130
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
The Curse of the Amulet
leimatthew05
1
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
540
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
180
Producing Creativity
orderedlist
PRO
348
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A designer walks into a library…
pauljervisheath
211
24k
We Are The Robots
honzajavorek
0
230
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
300
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
Transcript
PHPでの リーダブルコード
加納 悠史 カノウユウジ PHPer @Ykanoh65 株式会社 ラクス
PHP使っている人
PHP使っていない人
PHPは変な言語? メリット ▰ すぐ使える ▰ 曖昧な書き方でもすぐ動く 5
PHPは変な言語? デメリット ▰ 曖昧なままなのでバグが起きやすい ▰ 変な記述でもとりあえず動く 6
デメリット回避のために
テクニックが必要
PHPで バグを減らす 記述方 9
1. PHPDoc ▰ 関数やクラスに記載するコメント ▰ PHPでは "型を指定する" ために使用 10
None
1. PHPDoc ▰ 関数やクラスに記載するコメント ▰ PHPでは "型を指定する" ために使用 ▰ 言語仕様以外で型が指定できる貴重なツール
12
2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 現在の最新は PHP8.1 ▰ 引数の初期値指定の煩雑さを回避
13
function hoge($startIndex=0, $num=0, $max=10, $min=1) { // ... } hoge(3,
12, 11); // min にはデフォルト値の 1 が入る hoge(0, 0, 10, 5); // min だけデフォルト値でないものを入れる場合に煩雑 hoge(min:5); // PHP 8.0 ではこのように書ける hoge(startIndex:3, num:12, max:11, min:1); // デフォルト値以外でも引数の意味がわかりやすくなる
2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 引数の初期値指定の煩雑さを回避 ▰ ぱっと見で引数の意味を理解できる IDE使ってたら不要かもしれないが...
15
PhpStorm の場合
3. PSR ▰ PHPの規約集 ▰ 複数のルールが存在 ▰ プロジェクトで採用ルールを選んで利用 17
https://www.php-fig.org/psr/
まとめ ▰ PHPDoc ▰ 名前付き引数 ▰ PSR 19