Laravel は多くのエコシステムから成り立ってます。
いかんせん多いので、新しく環境を作る前にまとめて整理するための記事です。
いつ見ても凄い量...
Web開発するうえで何も困らない...
必須機能
Telescope
開発時、Web ページを開いた際の Request、SQL、ログなど様々な情報を記録し表示してくれるもの。
DB が必要なのだが、SQLite に対応しているので柔軟に使用可能。
これ無しでの開発は骨が折れるほど。
類似品に Clockwork がある。こちらも好き。
Pint
PHP-CS-Fixer の Laravel カスタマイズ版!
コードのフォーマットを整えるなら必ず入れておくべき。
Tinker
PHPのコマンドライン、プレイグラウンド。最初から入ってる。
ちょっとした動作確認などにとても便利。
php artisan tinker
開発環境
Sail
Laravel 向けの Docker カスタマイズ。
DB から Redis、Mailpit まで1コマンドで用意でき、とても便利。
DevContainer にも対応している。
(本番向けも欲しいな...というお気持ち)
Homestead
Vagrant の仮想環境において Laravel からサーバーまで用意してくれているもの。
昔はお世話になったけど...今は Sail で良いと思う。
アチアチ機能
Precognition
フォームの入力途中で値を送信し、Request のバリデーションのみ実行する機能。
UX の観点から、フロントで行っていたバリデーション処理を、バックエンドに委譲、統合することができる。
Inertia や Vue、React に対応しているので、既存のアプリケーションにも搭載しやすい。
Pulse
動作中のアプリケーションの状態を監視するダッシュボードを搭載する。
ユーザーごとの使用数から、例外、遅いリクエストの監視まで勝手に集計してくれる。
是非導入してみたい。
Pail
ログファイルを tail
で眺められるツール。
おしゃれなので一見の余地あり。
認証ライブラリ
様々なものが用意されてるが、用途によって使い分けられる。
Fortify
認証バックエンド全般
ログイン、登録、パスワードのリセット、電子メールの検証など
Breezeのバックエンドのみ、という認識で良い。
Breeze
認証のフロント+バック全般
Tailwind ベースで、Livewire、React、Vue などに対応しているすごいやつ。
現代 Laravel はこれを入れておくと良い。
Sanctum
Vue や React などの SPA 向けの認証ライブラリ。
API トークンかクッキーベースのどちらかの仕組みで認証を実現する。
Laravel をバックエンドとして使用するなら必須。
Jetstream
Sanctum をベースとしたスターターキット。
Breeze より全部乗せ。
Livewire と Inertia、Vue、React が選択できる。
Passport
OAuth2 実装用ライブラリ。
あの面倒くさい OAuth 実装が一発で使用可能になる。
Socialite
外部の OAuth 認証を使用するライブラリ。
Facebook、Twitter、Google、LinkedIn、GitHub、GitLab、Bitbucket あたりに対応している。
便利なもの
Echo
Laravel の WebSocket ライブラリ。
個人的には soketi のほうが使いやすかった。
Reverb
WebSocket のブローキャストライブラリ?
これと Echo の区別がまだついていない。
Cashier
サービスの課金だったり、カートの支払い機能の実装用ライブラリ。
Stripe と Paddle に対応している。
Pennant
新機能を搭載するときに、一部に展開したりと制御するするライブラリ。
段階リリースや、A/Bテストに使うと良さそう。
Scout
全文検索ライブラリ。よく見かける Algolia とかのあれ。
簡単に実装できるので、ロジックを書く必要がない。
Horizon
Redis などのキューの状態をモニタリングするダッシュボードを搭載する。
キューを使用している場合は導入すると良い。
Octane
リアルタイムの応答や、負荷が高い環境のサーバーライブラリ。
nginx + php-fpm の置き換えとして常にプロセスを起動し、高速に処理するもの、らしい。
ソシャゲなどで使われてるみたい。
Dusk
ブラウザの自動テスト用のライブラリ。
chromium を使って、いわゆる E2E テストができる。
Valet
mac 限定で簡単に Laravel を起動するツール。
私は Win+Linux ユーザーなので分かりません!
Folio
Blade に Nuxt、Next のような自動Pageルーティング機能を搭載する。
静的ページの生成には向いていそう。
Prompt
おしゃれなコマンドラインを表示するライブラリ。
inputや選択肢に対応。
Laravel をインストールする際に出てくる選択肢とかは、これで作られてる。
Envoy
Blade の記述方法で、SSH、シェルスクリプトを実行する。
正直存在意義がようわからん。
Vapor
Laravel 用のサーバーレスインフラ作成ツール。
すごそう。
まとめ
こう見るとWebアプリは認証が核なんだなって思う。
時点でダッシュボード。
みなさんも楽しい Laravel ライフを!