Laravel開発をより楽しくするパッケージやツールをご紹介します。
今回改めて調べて発見したパッケージもあるので使ってないものもありますがご容赦ください🙇♂️
情報元
- https://twitter.com/laravelphp
- https://twitter.com/laravelnews
- https://laravel-news.com
- https://github.com/chiraggude/awesome-laravel
- https://github.com/TimothyDJones/awesome-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
Facade
や EloquentModel
のプロパティのコード補完ファイルを生成します。
ほぼ必須で入れた方が良いと思うパッケージです。
2021.03.16追記: Laravel8.x から標準ライブラリになるようです。
[8.x] Implement IDE Helper
デバッグ
barryvdh/laravel-debugbar
デバッグ情報を表示するデバッグバーを画面下部に表示してくれるパッケージです。
デバッグコードを仕込むことなく、SQLの実行クエリやセッション、ログ等の様々な情報を参照できます。
API開発では使用しないですが、Bladeで画面開発もある場合は必須と言っても良いツールでしょう。
beyondcode/laravel-debugbar-companion
前述のlaravel-debugbarのデスクトップアプリ版です。
I'm proud to release the first version of the open-source @laravelphp DebugBar companion app! I also recorded an awesome announcement video - check it out.
— Marcel Pociot 🧙♂️ (@marcelpociot) January 5, 2021
Dive into the codebase, help us improve it, become AWESOME 👊https://t.co/vQZDWNlvRW pic.twitter.com/gzmNm9DpMo
- https://github.com/beyondcode/laravel-debugbar-companion
- https://laravel-news.com/laravel-debugbar-companion-app
-
https://github.com/beyondcode/laravel-debugbar-companion/releases
- ダウンロードはこちらから
laravel/telescope
デバッグ情報を管理するパッケージです。
先ほど紹介した laravel-debugbar
と対となるパッケージなのかなと思います。
こちらはAPI開発で効果を発揮するパッケージです。
こちらもデバッグコードを仕込むことなく、ログ、SQLの実行ログを確認できます。
beyondcode/laravel-dump-server
dump()
の結果をコンソールに出力してくれるツールです。
ブラウザで画面表示を見つつ、 dump()
結果もコンソール上で確認できるのでとても便利です。
元々は標準で入っていたパッケージですが、Laravel5.9で一時的に動作しなくなったのか公式から外されてました。。
https://github.com/laravel/laravel/pull/5052/commits/f053116c5680e77c3a6c73afd193984a17ea482d
Laravel7の環境で普通に動くし普通に便利なパッケージなので、入れておきたいパッケージです。
spatie/laravel-web-tinker
ブラウザ上でtinkerコマンドを実行できます。
開発用途のサーバー上に入れてるとブラウザ上からデバッグできて便利です。
本番サーバーでtinker実行できたら危ないので、本番では有効化しないでください。
rap2hpoutre/laravel-log-viewer
ブラウザ上でログファイルの中身を確認できるログビューアです。
こちらも開発用途のサーバー上に入れてるとブラウザ上からログが見れて便利です。
本番サーバーでログが自由に見れたら危ないので本番ではcloudwatch等、別のログ収集サービスを利用してください。
マイグレーション
ucan-lab/laravel-dacapo
Laravelマイグレーションのサポートライブラリです。
データベースのテーブル定義をYAMLファイル(スキーマファイル)で管理し、マイグレーションファイルの生成を行います。
※初期の開発時期に利用されることを想定しています。
テスト
laravel/dusk
ブラウザの自動テストが行えるパッケージです。
(使う機会がなくて使ってないですが、使ってみたい)
- 公式ドキュメント: https://laravel.com/docs/7.x/dusk
Laravel TestTools
ブラウザ上でテストコードを生成できるChrome拡張機能です。
mpociot/laravel-test-factory-helper
既存のモデルからモデルファクトリを生成するパッケージです。
テストデータの生成が楽になりそうです。
(使ったことがないですが、めっっちゃ便利そうなので使ってみたい)
コード品質
nunomaduro/phpinsights
コードの信頼性、疎結合、簡潔さをチェックしてコード品質を向上させてくれるパッケージです。
- 公式サイト: https://phpinsights.com
データベース
ucan-lab/laravel-dacapo
Laravelのマイグレーション作成をサポートするパッケージです。
テーブル構造をYAMLで短くシンプルに記述できます。
(手前味噌ですみません...)
メール
Qoraiche/laravel-mail-editor
GUIでメール内容を編集できるパッケージです。
このパッケージは使う機会がなくて使い勝手等わからないですが、とても気になってます。
- 公式サイト: https://maileclipse.io
- Laravel News: https://laravel-news.com/maileclipse-laravel-mail-editor-package
- デモ動画: https://youtu.be/QFgEGNBY3FI
Aspect
ytake/Laravel-Aspect
オブジェクト指向だけでは分離できない事をアスペクトという単位で分離できます。
ログやトランザクションといった業務ロジックとは関係のないことをアノテーションを使って横断的なプログラミングができます。
(使った事がないので使ってみたい...)
CI
StyleCI
コーディングスタイルをチェックするCIです。
自動的にプルリクが作成され、開発者はマージして取り込むだけでコードの整形できます。
監視
getsentry/sentry-laravel
エラーの監視サービスです。
発生した例外レポートを管理してくれます。
公式サイト: https://sentry.io
さいごに
他にもおすすめのパッケージやツール等ありましたらコメントいただけますと幸いです。
この記事が開発のお役に立てればハッピーです☺️