Laravel Pint
Table of Contents
Introduction
Laravel Pint はミニマリスト向けの独自の PHP code スタイル修正ツールです。Pint は PHP-CS-Fixer の上に構築されており、あなたの code スタイルがクリーンで一貫性を保つことを簡単にします。
新規の Laravel アプリケーションすべてに Pint は自動的にインストールされるため、すぐに使用を開始できます。 default では、Pint は設定を必要とせず、 code スタイルの問題を、 Laravel の独自のコーディングスタイルに従って code で修正します。
Installation
Pint は最新版の Laravel フレームワークに含まれているため、通常はインストールの必要はありません。しかし、古いアプリケーションの場合、 Composer を通じて Laravel Pint をインストールすることも可能です:
composer require laravel/pint --dev
Running Pint
Pint を呼び出してプロジェクトの vendor/bin
ディレクトリにある pint
binary を実行することで、code スタイルの問題を修正するように Pint に指示できます:
./vendor/bin/pint
特定のファイルやディレクトリで Pint を実行することもできます:
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
Pint は更新するすべてのファイルの詳細なリストを表示します。Pint の変更についてさらに詳しく view するには、Pint を呼び出す際に-v
オプションを指定します:
./vendor/bin/pint -v
あなたが Pint に単に code のスタイル errors を検査してもらいたいだけで、実際にファイルを変更しない場合、--test
オプションを使用できます。Pint は、 code スタイルの errors が見つかった場合、非ゼロの終了 code を返します:
./vendor/bin/pint --test
Git によると未コミットの変更があるファイルのみを Pint が変更するようにしたい場合は、--dirty
オプションを使用することができます。
./vendor/bin/pint --dirty
もしあなたが code スタイルの errors を持つファイルを Pint に修正してもらいたいけれども、 errors が修正された場合に非ゼロの exit code で終了してもらいたい場合、--repair
オプションを使用できます。
./vendor/bin/pint --repair
Configuring Pint
前述の通り、Pint は設定を必要としません。ただし、プリセット、ルール、または調査するフォルダをカスタマイズしたい場合は、プロジェクトの root ディレクトリにpint.json
ファイルを作成することで行うことができます:
{
"preset": "laravel"
}
さらに、特定のディレクトリから pint.json
を使用したい場合は、Pint を呼び出す際に --config
オプションを提供することができます。
pint --config vendor/my-company/coding-style/pint.json
Presets
Presets は、code の style 問題を修正するために使用できる一連のルールを定義します。default として、Pint はlaravel
プ reset を使用し、Laravel の主張的なコーディング style に従って問題を修正します。ただし、Pint に--preset
option を指定することで、異なるプ reset を指定することができます。
pint --preset psr12
ご希望であれば、プロジェクトのpint.json
ファイルにプリセットを設定することもできます:
{
"preset": "psr12"
}
Pint が現在サポートしているプリセットは、laravel
、per
、psr12
、そしてsymfony
です。
Rules
Rules は、Pint があなたの codestyle の問題を解決するために使用する style ガイドラインです。上記のように、presets は多くの PHPproject に最適なルールの事前定義されたグループであるため、通常はそれらが含む個々のルールについて心配する必要はありません。
ただし、ご希望であれば、pint.json
ファイルで特定のルールを有効化または無効化することができます:
{
"preset": "laravel",
"rules": {
"simplified_null_return": true,
"braces": false,
"new_with_braces": {
"anonymous_class": false,
"named_class": false
}
}
}
Pint はPHP-CS-Fixer を基盤に構築されています。したがって、そのルールを何でも使って、あなたの project の code スタイルの問題を修正することができます。詳細はPHP-CS-Fixer Configurator をご覧ください。
ファイル/フォルダの除外
default では、Pint はあなたの project の中のすべての .php
ファイルを検査しますが、vendor
ディレクトリ内のものは除外します。もし、さらにフォルダを除外したい場合は、exclude
設定 option を使用して行うことができます:
{
"exclude": ["my-specific/folder"]
}
指定した名前のパターンを含むすべてのファイルを除外したい場合、notName
設定オプションを使用して行うことができます:
{
"notName": ["*-my-file.php"]
}
ファイルへの正確な path を提供することでファイルを除外したい場合は、notPath
設定オプションを使用して行うことができます。
{
"notPath": ["path/to/excluded-file.php"]
}