May 31, 2019

Laravelのコーディング規約

基本的にはPSR-2 + PHPDoc部分の独自規約程度だけど

実際は他にも色々。クラスのインポートは長さ順とか。

use Illuminate\Foundation\Mix;
use Illuminate\Support\HtmlString;
use Illuminate\Container\Container;
use Illuminate\Support\Facades\Date;
...
use Illuminate\Contracts\Validation\Factory as ValidationFactory;
use Illuminate\Contracts\Broadcasting\Factory as BroadcastFactory;

PhpStormならOptimize Importsで同じようにできるのでどこかでは使われてるルールなんだろう。

これが見やすいか?と考えると別に見やすくないので自分ではあまり使わない。機械的にフォーマットするならこういうルールが必要なんだろうけど。

自動化するならStyleCIでできるけどLaravelだと厳しいのでPSR-2に合わせてる。

重要なこと

この規約はLaravel公式内で適用される規約であってLaravel使って何か作るユーザーが従う必要はない。
PSR-2さえ無視してもいい。さすがに今時PSR-2無視してたら他人が読めないけど。

個人的な落とし所。

  • PhpStormのLaravelプリセットで自動フォーマット。
  • StyleCIはPSR-2

他人のプロジェクトなら合わせるけど一目見ただけで分かるほどひどいコードで規約も何もないような状態なら全部フォーマットし直す。
Laravel使ってるのにarray()使ってるような人は本当に実在する。array()なんてもはやフォーマットするだけで問答無用で[]に変換される。
こんなレベルに合わせるのは不可能なので容赦なくフォーマット。

© kawax