BLOG

ブログ

2023/04/10 プログラミング技術系

Laravelで開発する時に使うライブラリまとめ

この記事を書いた人 T.U

今回は、普段Laravelで開発する際に使っているライブラリを紹介します。
環境は、以下のとおりです。

  • Laravel 10
  • php 8.2
  • PhpStorm 2022.3.3

barryvdh/laravel-debugbar

Laravel Debugbarは読み込まれているViewファイルや実行されたクエリーなどの情報を見られるライブラリです。

インストール

Composerでライブラリをインストールします。インストールが完了すると、Package Auto Discoveryで自動的に読み込まれます。

composer require --dev barryvdh/laravel-debugbar

インストールが完了したら、実行されたSQLや読み込んでいるViewファイルなどの情報を確認することができます。

読み込んでいるViewファイルの情報
実行されたSQLの情報

設定

設定を変更する必要がなければ、今のままで使用できますが、設定を変更したい項目があるため、publishコマンドで設定ファイルを config/debugbar.php にコピーします。

php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

debugbar.php では、Laravel Debugbarで収集する情報の設定ができます。collectors.authoptions.views.datatrue にしておくと、ログイン中のユーザー情報や、Viewファイルに渡されているデータを確認したい際に便利です。

ログイン中のユーザー情報

beyondcode/laravel-query-detector

Laravel Query Detectorは、N+1問題の解消をする際に便利です。
実行されるクエリーの数を減らすことで、パフォーマンスの向上にも繋がります。

インストール

前回と同じように、Composerでライブラリをインストールします。

composer require --dev beyondcode/laravel-query-detector

次に、publishコマンドで設定ファイルを config/querydetector.php にコピーします。

php artisan vendor:publish --provider="BeyondCode\QueryDetector\QueryDetectorServiceProvider"

設定

前回導入した、Laravel Debugbarに検出内容を表示したいので、 output の項目を下記のように変更します。

'output' => [
    \BeyondCode\QueryDetector\Outputs\Debugbar::class
]

設定ができたらLaravel Debugbarの「N+1 Queries」に警告内容が出力されます

警告内容

私はあまり使いませんが、下記のように指定することで、ブラウザのコンソールとアラートで出力することもできます。

'output' => [
    \BeyondCode\QueryDetector\Outputs\Debugbar::class,
    \BeyondCode\QueryDetector\Outputs\Alert::class,
    \BeyondCode\QueryDetector\Outputs\Log::class
]

barryvdh/laravel-ide-helper

Laravel Ide Helperは、入力補完を行いやすくするヘルパーファイルを生成することができるライブラリです。

インストール

Composerでライブラリをインストールします。

composer require --dev barryvdh/laravel-ide-helper

次に、ヘルパーファイルを生成します。

# Facades用のヘルパーファイルを生成
php artisan ide-helper:generate

# Model用のヘルパーファイルを生成
php artisan ide-helper:models -M

# PhpStormのメタファイルを生成
php artisan ide-helper:meta

Laravel Ide Helperを使うことで、Modelのプロパティーの補完ができるようになるので、実装もしやすくなり、誤タイプによる何故か動かない…ということも減らせます。

PhpStormのオートコンプリート

squizlabs/PHP_CodeSniffer

PHP_CodeSnifferは、コーディング規約違反を検出、自動修正を行うライブラリです。コーディング規約に沿ったコーディングを行うことで、品質や保守性を高めることができます。

インストール

Composerでライブラリをインストールします。
今回は紹介しませんが、設定ファイルを作成し、除外したいパスや除外したいルールなどの設定も行うことができます。

composer require --dev squizlabs/php_codesniffer

コードのチェックと修正

インストールができたら、phpcsコマンドを実行して、app配下のコードでPSR12に違反しているコードを検索してみます。

./vendor/bin/phpcs -s --standard=PSR12 ./app

実行が終わると、ヒットしたファイルや行数、ルール名などが出力されます。

phpcsの実行結果

コードの修正はphpcbfコマンドを使って行います。

./vendor/bin/phpcbf -s --standard=PSR12 ./app

実行が終わると、ファイル名や修正した数などの情報が出力され、実際のファイルも修正が行われます。

phpcbfの実行結果

nunomaduro/larastan

Larastanは、ソースコードを解析し、非推奨な箇所や実行時にエラーになる箇所をチェックすることができます。

インストール

Composerでライブラリをインストールします。

composer require --dev nunomaduro/larastan:^2.0

設定

phpstan.neon ファイルを作成し、Larastanの設定を行います。
ここでは、除外したいエラーやパスなどがあれば、phpstan.neon に記載するか、// @phpstan-ignore-next-line// @phpstan-ignore-line をコメントで記載します。

includes:
    - ./vendor/nunomaduro/larastan/extension.neon

parameters:

    paths:
        - app/

    level: 1

    ignoreErrors:
        # 除外したいエラー

    excludePaths:
        # 除外したいパス

コードのチェック

設定ができたら、phpstanコマンドでコードをチェックします。

./vendor/bin/phpstan analyse

実行が終わると、ヒットしたファイルや行数などの情報が出力されます。

エラーが検出された場合


株式会社ウイングドアは福岡のシステム開発会社です。
現在、私達と一緒に"楽しく仕事が出来る仲間"として、新卒・中途採用を絶賛募集しています!
ウイングドアの仲間達となら楽しく仕事できるかも?と興味をもった方、
お気軽にお問い合わせ下さい!

アーカイブ