ブログ
Laravelで開発する時に使うライブラリまとめ
今回は、普段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ファイルなどの情報を確認することができます。
設定
設定を変更する必要がなければ、今のままで使用できますが、設定を変更したい項目があるため、publishコマンドで設定ファイルを config/debugbar.php
にコピーします。
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
debugbar.php
では、Laravel Debugbarで収集する情報の設定ができます。collectors.auth
、 options.views.data
は true
にしておくと、ログイン中のユーザー情報や、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のプロパティーの補完ができるようになるので、実装もしやすくなり、誤タイプによる何故か動かない…ということも減らせます。
squizlabs/PHP_CodeSniffer
PHP_CodeSnifferは、コーディング規約違反を検出、自動修正を行うライブラリです。コーディング規約に沿ったコーディングを行うことで、品質や保守性を高めることができます。
インストール
Composerでライブラリをインストールします。
今回は紹介しませんが、設定ファイルを作成し、除外したいパスや除外したいルールなどの設定も行うことができます。
composer require --dev squizlabs/php_codesniffer
コードのチェックと修正
インストールができたら、phpcsコマンドを実行して、app配下のコードでPSR12に違反しているコードを検索してみます。
./vendor/bin/phpcs -s --standard=PSR12 ./app
実行が終わると、ヒットしたファイルや行数、ルール名などが出力されます。
コードの修正はphpcbfコマンドを使って行います。
./vendor/bin/phpcbf -s --standard=PSR12 ./app
実行が終わると、ファイル名や修正した数などの情報が出力され、実際のファイルも修正が行われます。
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
実行が終わると、ヒットしたファイルや行数などの情報が出力されます。
株式会社ウイングドアは福岡のシステム開発会社です。
現在、私達と一緒に"楽しく仕事が出来る仲間"として、新卒・中途採用を絶賛募集しています!
ウイングドアの仲間達となら楽しく仕事できるかも?と興味をもった方、
お気軽にお問い合わせ下さい!