Laravel Pint の設定 | ララベルニュース

Laravel Pint は、Laravel チームの注目の新機能です。 私の頼りになるコード標準ツールである PHP CS Fixer の優れたラッパーです。

以前、Laravel Pint が最初にリリースされたときのリリースについて書きました。 デフォルトでは、 laravel 標準であり、Laravel チームによるカスタム標準です。

しかし、何か他のものが欲しい場合はどうすればよいでしょうか? 少し潜ってみましょう。

ドキュメントを読むと、Laravel Pint で何ができるかについて非常に有益です。 便利な JSON ファイルに多くのルールを実装できますが、どのルールがうまく機能し、何をすべきでしょうか?

私の個人的な Laravel Pint の設定について説明し、これらの設定を選択する内容と理由を説明します。

複数行のコメントを揃える

このルール align_multiline_comment 私が「退屈」と呼んでいるコメントを修正することができます。 それらはすべて整列から外れており、奇妙に見えます。 コードの観点からは重要なことではありませんが、集中したいものではなく目が引き付けられるため、読んでいると煩わしいものです。

配列のインデント

ルール array_indentation 何らかの理由で「壊れた」状態になった、作成中のアレイを修正できます。 スペースが間違った場所などで使用されている可能性がある場所を整理する別のコード クリーニング ルール。 等

配列構文

お茶 array_syntax ルールは、コードの経過時間によっては必要ない場合があります。 このルールは古いルールを変更します array() 新しい構文 [] 構文。 古いコードを持っている場合や、古い習慣に陥る可能性のある複数の開発者と作業している場合に備えて、これを保持しています。

名前空間の後の空白行

お茶 blank_line_after_namespace rule は、すべてのクラスの名前空間宣言の下に常に空白行があることを確認するために使用するハウスキーピング ルールです。

タグを開いた後の空白行

お茶 blank_line_after_opening_tag ルールは前のルールに似ていますが、開始 PHP タグの後に空白行を強制します。 私は自分のコードを整理して統一するのが好きです – これらのルールがそれを可能にします。

連続する Isset を組み合わせる

お茶 combine_consecutive_issets ルールは、isset チェックで複数の引数を使用できることを教えてくれました。これは私にとって新しいことでした。 これにより、1 つ以上の isset チェックを組み合わせたコードが 1 つのクリーン チェックに変換されます。

// before

if (isset($a) && isset($b))

 

// after

if (isset($a, $b))

連続するアンセットを組み合わせる

お茶 combine_consecutive_unsets ルールは上記のルールのようなもので、私ができるとは知らなかったものであり、より良いコードを使用するように強制します。

// before

unset($a);

unset($b);

 

// after

unset($a, $b);

連結スペース

お茶 concat_space rule 私のお気に入りの一つです。 これは、文字列の連結の間にスペースを強制します。これは、私が見たくないものの 1 つです。 私は自分のコードに余裕を持たせたいと思っています。

// before

$name = $request->get('name');

$message = 'Hello '.$name;

 

// after

$message = 'Hello ' . $name;

括弧を宣言する

お茶 declare_parentheses ルールは上記のルールのほぼ逆です。 私が使用する場所ならどこでも declare 文の周りに不要なスペースを入れないようにしたいと思います。

// before

declare( strict_type = 1 );

 

// after

declare(strict_types=1);

厳密な型を宣言する

お茶 declare_strict_types ルールは私にとってなくてはならないものです。 コードで使用する型の使用量が多いため、厳密な型指定が有効になっていることも確認したいと思います。 これは、毎回追加することを忘れずに、コード ベースでこれを強制するための便利なルールです。 スタブを追加するためにスタブを変更する必要がないため、Laravel に最適です。

declare(strict_types=1);

明示的な文字列変数

お茶 explicit_string_variable ルールは、コードが読みやすくなるため、追加するのが大好きです。 コードで暗黙的な変数を使用している場合は、次のように明示的にします。

$name = 'Steve';

 

$implicit = "Hello, $name";

$explicit = "Hello {$name}";

最終クラス

お茶 final_class ルールは、私が Michael Dyrynda に付きまとうものです。 強み 全て あなたのクラスはあなたのアプリケーションで最終的なものになります。 ただし、すべてのクラスが最終的なものになるため、ペストを使用したり、Laravel でベースコントローラーを拡張したりすると、破損につながる可能性があるため、注意してください。 幸いなことに、継承をあまり使用しないので、これについてはあまり心配していません。

最終内部クラス

お茶 final_internal_class ルールは、上記のルールに対抗できる方法です。 クラスを拡張する予定があるためにクラスを final にしたくない場合は、このルールが次のように設定されていることを確認してください。 false あなたの構成で。 これは、これを無視するように最終ルールに指示し、内部クラスは いいえ 最終的であること。

{

"final_internal_class": false

}

完全修飾された厳密な型

お茶 fully_qualified_strict_types ルールは、メソッドなどで完全修飾クラス名を型として宣言するのではなく、クラスを use ステートメントとしてコードにインポートすることを強制します。 これによりコードがきれいに保たれ、きれいなコードは幸せなコードです。

// before

public function __invoke(IlluminateHttpRequest $request)

 

// after

public function __invoke(Request $request)

私が使用するルールは他にもたくさんあるので、あなたを退屈させる代わりに ひとつひとつ 構成を共有します。また、PHP CS 構成 Web サイトも参照して、ルールとは何か、およびその機能を確認してください。

これが私の現在の構成ですが、コード標準は生きたものであるべきだと感じているので、これを頻繁に微調整していることを覚えておいてください。 常に再評価し、ニーズを満たしているかどうかを確認する必要があります。

Leave a Comment

Your email address will not be published. Required fields are marked *