Slide 1

Slide 1 text

PHPでの リーダブルコード

Slide 2

Slide 2 text

加納 悠史 カノウユウジ PHPer @Ykanoh65 株式会社 ラクス

Slide 3

Slide 3 text

PHP使っている人

Slide 4

Slide 4 text

PHP使っていない人

Slide 5

Slide 5 text

PHPは変な言語? メリット ▰ すぐ使える ▰ 曖昧な書き方でもすぐ動く 5

Slide 6

Slide 6 text

PHPは変な言語? デメリット ▰ 曖昧なままなのでバグが起きやすい ▰ 変な記述でもとりあえず動く 6

Slide 7

Slide 7 text

デメリット回避のために

Slide 8

Slide 8 text

テクニックが必要

Slide 9

Slide 9 text

PHPで バグを減らす 記述方 9

Slide 10

Slide 10 text

1. PHPDoc ▰ 関数やクラスに記載するコメント ▰ PHPでは "型を指定する" ために使用 10

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

1. PHPDoc ▰ 関数やクラスに記載するコメント ▰ PHPでは "型を指定する" ために使用 ▰ 言語仕様以外で型が指定できる貴重なツール 12

Slide 13

Slide 13 text

2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 現在の最新は PHP8.1 ▰ 引数の初期値指定の煩雑さを回避 13

Slide 14

Slide 14 text

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); // デフォルト値以外でも引数の意味がわかりやすくなる

Slide 15

Slide 15 text

2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 引数の初期値指定の煩雑さを回避 ▰ ぱっと見で引数の意味を理解できる IDE使ってたら不要かもしれないが... 15

Slide 16

Slide 16 text

PhpStorm の場合

Slide 17

Slide 17 text

3. PSR ▰ PHPの規約集 ▰ 複数のルールが存在 ▰ プロジェクトで採用ルールを選んで利用 17

Slide 18

Slide 18 text

https://www.php-fig.org/psr/

Slide 19

Slide 19 text

まとめ ▰ PHPDoc ▰ 名前付き引数 ▰ PSR 19