Readouble

Laravel 11.x Laravel Pint

イントロダクションIntroduction

Laravel Pint(ピント:PHP+lint)は、ミニマリストのための主張を持ったPHPコードスタイルフィクサです。PintはPHP-CS-Fixer上に構築されており、あなたのコードスタイルがクリーンで一貫したものになるよう、シンプルにします。Laravel Pint[https://github.com/laravel/pint] is an opinionated PHP code style fixer for minimalists. Pint is built on top of PHP-CS-Fixer and makes it simple to ensure that your code style stays clean and consistent.

Pintは、すべての新しいLaravelアプリケーションに自動的にインストールされますので、すぐに使い始めることができます。デフォルトで、Pintは設定を必要とせず、Laravelの主張を取り入れたコーディングスタイルに従い、コードスタイルの問題を修正します。Pint is automatically installed with all new Laravel applications so you may start using it immediately. By default, Pint does not require any configuration and will fix code style issues in your code by following the opinionated coding style of Laravel.

インストールInstallation

PintはLaravelフレームワークの最近のリリースに含まれているため、通常インストールは不要です。しかし、古いアプリケーションでは、Composer経由でLaravel Pintをインストールできます。Pint is included in recent releases of the Laravel framework, so installation is typically unnecessary. However, for older applications, you may install Laravel Pint via Composer:

composer require laravel/pint --dev

Pintの実行Running Pint

プロジェクトのvendor/binディレクトリにある、pintバイナリを起動し、Pintへコードスタイルの問題を修正するように指示できます。You can instruct Pint to fix code style issues by invoking the pint binary that is available in your project's vendor/bin directory:

./vendor/bin/pint

また、特定のファイルやディレクトリに対してPintを実行することもできます。You may also run Pint on specific files or directories:

./vendor/bin/pint app/Models

./vendor/bin/pint app/Models/User.php

Pintは更新した全ファイルの完全なリストを表示します。Pintを起動する際に、-vオプションを指定すれば、Pintが行う変更についてさらに詳しく確認できます。Pint will display a thorough list of all of the files that it updates. You can view even more detail about Pint's changes by providing the -v option when invoking Pint:

./vendor/bin/pint -v

もし、実際にファイルを変更せず、Pintにコードのスタイルエラーを検査させたい場合は、--testオプションを使用します。Pintはコードスタイルのエラーを見つけた場合、0以外の終了コードを返します。If you would like Pint to simply inspect your code for style errors without actually changing the files, you may use the --test option. Pint will return a non-zero exit code if any code style errors are found:

./vendor/bin/pint --test

もし、Gitへコミットされていない変更のあるファイルだけをPintに修正させたい場合は、--dirty オプションを使用します。If you would like Pint to only modify the files that have uncommitted changes according to Git, you may use the --dirty option:

./vendor/bin/pint --dirty

Pintにコードスタイルのエラーがあるファイルを修正させたいが、エラーを修正した場合にコードを0以外で終了させたい場合は、--repairオプションを使用します。If you would like Pint to fix any files with code style errors but also exit with a non-zero exit code if any errors were fixed, you may use the --repair option:

./vendor/bin/pint --repair

Pintの設定Configuring Pint

前述したように、Pintは設定を一切必要としません。しかし、プリセットやルール、インスペクトフォルダをカスタマイズしたい場合は、プロジェクトのルートディレクトリに、pint.jsonファイルを作成してください。As previously mentioned, Pint does not require any configuration. However, if you wish to customize the presets, rules, or inspected folders, you may do so by creating a pint.json file in your project's root directory:

{
    "preset": "laravel"
}

また、特定のディレクトリにあるpint.jsonを利用したい場合は、Pintを起動する際に--configオプションを指定してください。In addition, if you wish to use a pint.json from a specific directory, you may provide the --config option when invoking Pint:

./vendor/bin/pint --config vendor/my-company/coding-style/pint.json

プリセットPresets

プリセットは、コード内のスタイルの問題を修正するために使用するルールセットを定義しています。デフォルトでPintは、laravelプリセットを使用します。これは、Laravelの意見に基づいたコーディングスタイルに従って問題を修正するものです。しかし、Pintに--presetオプションを指定することで、別のプリセットも指定できます。Presets define a set of rules that can be used to fix code style issues in your code. By default, Pint uses the laravel preset, which fixes issues by following the opinionated coding style of Laravel. However, you may specify a different preset by providing the --preset option to Pint:

./vendor/bin/pint --preset psr12

お望みならば、プロジェクトのpint.jsonファイルにプリセットを設定できます。If you wish, you may also set the preset in your project's pint.json file:

{
    "preset": "psr12"
}

Pintが現在サポートしているプリセットは、laravelperpsr12symfonyemptyです。Pint's currently supported presets are: laravel, per, psr12, symfony, and empty.

ルールRules

ルールは、コードのスタイルに関する問題を修正するためにPintが使用するスタイルのガイドラインです。前述したように、プリセットはあらかじめ定義されたルールのグループであり、ほとんどのPHPプロジェクトに最適であるため、通常、含まれる個々のルールについて心配する必要はありません。Rules are style guidelines that Pint will use to fix code style issues in your code. As mentioned above, presets are predefined groups of rules that should be perfect for most PHP projects, so you typically will not need to worry about the individual rules they contain.

しかし、必要に応じて、pint.jsonファイルで特定のルールの有効/無効を指定できますし、emptyプリセットを使用し、ゼロからルールを定義することもできます。However, if you wish, you may enable or disable specific rules in your pint.json file or use the empty preset and define the rules from scratch:

{
    "preset": "laravel",
    "rules": {
        "simplified_null_return": true,
        "braces": false,
        "new_with_braces": {
            "anonymous_class": false,
            "named_class": false
        }
    }
}

Pintは、PHP-CS-Fixer上に構築しています。したがって、プロジェクトのコードスタイルの問題を修正するため、いずれかのルールを使用できます。PHP-CS-Fixerの設定を参照してください。Pint is built on top of PHP-CS-Fixer[https://github.com/FriendsOfPHP/PHP-CS-Fixer]. Therefore, you may use any of its rules to fix code style issues in your project: PHP-CS-Fixer Configurator[https://mlocati.github.io/php-cs-fixer-configurator].

ファイル/フォルダの除外Excluding Files / Folders

デフォルトでPintは、プロジェクト内のvendorディレクトリにあるものを除く、すべての.phpファイルを検査します。もし、より多くのフォルダを除外したい場合は、exclude設定オプションを使用して除外可能です。By default, Pint will inspect all .php files in your project except those in the vendor directory. If you wish to exclude more folders, you may do so using the exclude configuration option:

{
    "exclude": [
        "my-specific/folder"
    ]
}

もし、指定した名前のパターンに一致するファイルをすべて除外したい場合は、notName設定オプションを使用します。If you wish to exclude all files that contain a given name pattern, you may do so using the notName configuration option:

{
    "notName": [
        "*-my-file.php"
    ]
}

もし、ファイルの正確なパスを指定して除外したい場合は、notPath設定オプションを使用して除外できます。If you would like to exclude a file by providing an exact path to the file, you may do so using the notPath configuration option:

{
    "notPath": [
        "path/to/excluded-file.php"
    ]
}

継続的インテグレーションContinuous Integration

GitHub ActionsGitHub Actions

Laravel Pintでプロジェクトのリントを自動化するには、GitHub Actionsを設定し、新しいコードをGitHubにプッシュするたびにPintを実行します。まず、Settings > Actions > General > Workflow permissionsで、GitHub内のワークフローへ、"Read and write permissions"を付与してください。次に、.github/workflows/lint.ymlファイルを以下の内容で作成します。To automate linting your project with Laravel Pint, you can configure GitHub Actions[https://github.com/features/actions] to run Pint whenever new code is pushed to GitHub. First, be sure to grant "Read and write permissions" to workflows within GitHub at Settings > Actions > General > Workflow permissions. Then, create a .github/workflows/lint.yml file with the following content:

name: Fix Code Style

on: [push]

jobs:
  lint:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
      matrix:
        php: [8.3]

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php }}
          extensions: json, dom, curl, libxml, mbstring
          coverage: none

      - name: Install Pint
        run: composer global require laravel/pint

      - name: Run Pint
        run: pint

      - name: Commit linted files
        uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "Fixes coding style"

章選択

設定

明暗テーマ
light_mode
dark_mode
brightness_auto システム設定に合わせる
テーマ選択
photo_size_select_actual デフォルト
photo_size_select_actual モノクローム(白黒)
photo_size_select_actual Solarized風
photo_size_select_actual GitHub風(青ベース)
photo_size_select_actual Viva(黄緑ベース)
photo_size_select_actual Happy(紫ベース)
photo_size_select_actual Mint(緑ベース)
コードハイライトテーマ選択

明暗テーマごとに、コードハイライトのテーマを指定できます。

テーマ配色確認
スクリーン表示幅
640px
80%
90%
100%

768px以上の幅があるときのドキュメント部分表示幅です。

インデント
無し
1rem
2rem
3rem
原文確認
原文を全行表示
原文を一行ずつ表示
使用しない

※ 段落末のEボタンへカーソルオンで原文をPopupします。

Diff表示形式
色分けのみで区別
行頭の±で区別
削除線と追記で区別

※ [tl!…]形式の挿入削除行の表示形式です。

テストコード表示
両コード表示
Pestのみ表示
PHPUnitのみ表示
OS表示
全OS表示
macOSのみ表示
windowsのみ表示
linuxのみ表示
和文変換

対象文字列と置換文字列を半角スペースで区切ってください。(最大5組各10文字まで)

本文フォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

コードフォント

総称名以外はCSSと同様に、"〜"でエスケープしてください。

保存内容リセット

localStrageに保存してある設定項目をすべて削除し、デフォルト状態へ戻します。

ヘッダー項目移動

キーボード操作