180
179

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel初期設定】開発を楽しくするデバッグライブラリ集

Last updated at Posted at 2020-04-20

Laravel開発をより楽しくするパッケージやツールをご紹介します。
今回改めて調べて発見したパッケージもあるので使ってないものもありますがご容赦ください🙇‍♂️

情報元

標準

Laravel標準で組み込まれているパッケージをご紹介します。

briannesbitt/Carbon

Laravel標準で組み込まれているPHPのDateTime拡張パッケージです。
日付の操作をより便利に、簡単にできます。

使い方は公式サイトに詳しく載っています。
https://carbon.nesbot.com

laravel/tinker

$ php artisan tinker

Laravel標準で組み込まれているLaravelのコードを対話的に実行できるコマンドです。
手軽にLaravelコードを試せるので使わないと損です。

追記: tinkerコマンドの紹介記事を書きました。

JeffreyWay/laravel-mix

Laravel標準で組み込まれているWebpackのラッパーパッケージです。
Webpackでは複雑な設定もLaravelMixでは簡潔に記述できます。

ほぼ必須

doctrine/dbal

データベースのカラム変更を伴うマイグレーションを書く場合に必要です。
まぁ、まず書かないことはほぼないので入れますね。

後述の laravel-ide-helper もモデルの補完ファイルを生成する際にこのライブラリを使用しているので必要です。

IDE

barryvdh/laravel-ide-helper

FacadeEloquentModel のプロパティのコード補完ファイルを生成します。
ほぼ必須で入れた方が良いと思うパッケージです。

2021.03.16追記: Laravel8.x から標準ライブラリになるようです。
[8.x] Implement IDE Helper

デバッグ

barryvdh/laravel-debugbar

79428890-196cc680-7fc7-11ea-8229-189f5eac9009.png

デバッグ情報を表示するデバッグバーを画面下部に表示してくれるパッケージです。
デバッグコードを仕込むことなく、SQLの実行クエリやセッション、ログ等の様々な情報を参照できます。
API開発では使用しないですが、Bladeで画面開発もある場合は必須と言っても良いツールでしょう。

beyondcode/laravel-debugbar-companion

前述のlaravel-debugbarのデスクトップアプリ版です。

laravel/telescope

68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f6474666276766b79702f696d6167652f75706c6f61642f76313533393131303836302f53637265656e5f53686f745f323031382d31302d30395f61745f312e34372e32335f504d2e706e67.png

デバッグ情報を管理するパッケージです。
先ほど紹介した laravel-debugbar と対となるパッケージなのかなと思います。
こちらはAPI開発で効果を発揮するパッケージです。

こちらもデバッグコードを仕込むことなく、ログ、SQLの実行ログを確認できます。

beyondcode/laravel-dump-server

68747470733a2f2f6265796f6e64636f2e64652f6769746875622f64756d707365727665722f64756d707365727665722e676966.gif

dump() の結果をコンソールに出力してくれるツールです。
ブラウザで画面表示を見つつ、 dump() 結果もコンソール上で確認できるのでとても便利です。

元々は標準で入っていたパッケージですが、Laravel5.9で一時的に動作しなくなったのか公式から外されてました。。
https://github.com/laravel/laravel/pull/5052/commits/f053116c5680e77c3a6c73afd193984a17ea482d

Laravel7の環境で普通に動くし普通に便利なパッケージなので、入れておきたいパッケージです。

spatie/laravel-web-tinker

spatie/laravel-web-tinker

ブラウザ上でtinkerコマンドを実行できます。
開発用途のサーバー上に入れてるとブラウザ上からデバッグできて便利です。
本番サーバーでtinker実行できたら危ないので、本番では有効化しないでください。

rap2hpoutre/laravel-log-viewer

ブラウザ上でログファイルの中身を確認できるログビューアです。
こちらも開発用途のサーバー上に入れてるとブラウザ上からログが見れて便利です。
本番サーバーでログが自由に見れたら危ないので本番ではcloudwatch等、別のログ収集サービスを利用してください。

マイグレーション

ucan-lab/laravel-dacapo

Laravelマイグレーションのサポートライブラリです。
データベースのテーブル定義をYAMLファイル(スキーマファイル)で管理し、マイグレーションファイルの生成を行います。

※初期の開発時期に利用されることを想定しています。

テスト

laravel/dusk

ブラウザの自動テストが行えるパッケージです。
(使う機会がなくて使ってないですが、使ってみたい)

Laravel TestTools

ブラウザ上でテストコードを生成できるChrome拡張機能です。

mpociot/laravel-test-factory-helper

既存のモデルからモデルファクトリを生成するパッケージです。
テストデータの生成が楽になりそうです。
(使ったことがないですが、めっっちゃ便利そうなので使ってみたい)

コード品質

nunomaduro/phpinsights

preview.png

コードの信頼性、疎結合、簡潔さをチェックしてコード品質を向上させてくれるパッケージです。

データベース

ucan-lab/laravel-dacapo

Laravelのマイグレーション作成をサポートするパッケージです。
テーブル構造をYAMLで短くシンプルに記述できます。
(手前味噌ですみません...)

メール

Qoraiche/laravel-mail-editor

markdown-mailable-editor.png

GUIでメール内容を編集できるパッケージです。
このパッケージは使う機会がなくて使い勝手等わからないですが、とても気になってます。

Aspect

ytake/Laravel-Aspect

オブジェクト指向だけでは分離できない事をアスペクトという単位で分離できます。
ログやトランザクションといった業務ロジックとは関係のないことをアノテーションを使って横断的なプログラミングができます。
(使った事がないので使ってみたい...)

CI

StyleCI

コーディングスタイルをチェックするCIです。
自動的にプルリクが作成され、開発者はマージして取り込むだけでコードの整形できます。

監視

getsentry/sentry-laravel

エラーの監視サービスです。
発生した例外レポートを管理してくれます。

公式サイト: https://sentry.io

さいごに

他にもおすすめのパッケージやツール等ありましたらコメントいただけますと幸いです。
この記事が開発のお役に立てればハッピーです☺️

180
179
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
180
179

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?