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
Y-KANOH
March 24, 2022
Technology
370
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
240
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
18
6.2k
エンジニアは伝え方が9割/90% of what engineers need is communication skills
ykanoh
4
1.5k
PHPカンファレンス関西2024 クロージング/php kansai 2024 closing
ykanoh
0
160
PHPカンファレンス関西2024 オープニング/php kansai 2024 opening
ykanoh
2
370
PHP略語クイズ/PHP Abbreviation Quiz
ykanoh
1
3k
PHPカンファレンス関西2024スタッフ希望者向け説明会
ykanoh
0
460
PHPマジックメソッドクイズ!/PHP Magic Method Quiz
ykanoh
0
1.9k
PHPerが再利用可能な情報提供でオフショア先とコード品質向上に取り組む / PHPer try improve the code quality
ykanoh
1
1.5k
Other Decks in Technology
See All in Technology
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
140
NDIAS CTF 2026 問題解説会資料
bata_24
0
180
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
1.8k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
2.7k
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
1
2.1k
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
2
510
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
1.5k
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
310
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
3
3k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
210
Why is RC4 still being used?
tamaiyutaro
0
310
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
280
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Crafting Experiences
bethany
1
210
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Speed Design
sergeychernyshev
33
1.9k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
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