はじめに
Laravelでアプリを作るときに
使うことが多い便利なパッケージをまとめました。
全てComposerでインストール可能なパッケージです。
主に管理画面系のwebアプリ構築の経験が多いため、
パッケージの選定もそのようなアプリで利用するものが多いです。
他にも便利なおすすめパッケージがあれば
ぜひコメントよろしくお願いします。
必須
barryvdh/laravel-debugbar
https://github.com/barryvdh/laravel-debugbar
ブラウザ下部にデバッグバーを表示する。
その時にリクエストで発行されたSQL一覧や、今持っているセッション情報一覧など
デバッグに便利な情報がブラウザ上で確認できるようになる。
barryvdh/laravel-ide-helper
https://github.com/barryvdh/laravel-ide-helper
IDEを利用してコーディングする際に、
コード補完を強化する。
変数からアローを書いたときにメソッドやプロパティのサジェスチョンがたくさん表示されたり、
メソッド定義元へのジャンプできる範囲が増えたり。
laravelcollective/html
https://github.com/LaravelCollective/html
bladeファイルでフォームを書くときに便利なメソッドを提供する。
CSRFトークンを自動で埋め込んでくれたり、
モデルとフォームを紐づけて自動で初期値を入れてくれたり。
doctrine/dbal
https://github.com/doctrine/dbal
migrationでカラム定義変更をする場合にインストールしておく必要あり。
よく使う
wildside/userstamps
https://github.com/WildSideUK/Laravel-Userstamps
データを作成、更新した際に
created_by、updated_byのカラムを
ログイン中ユーザIDで自動更新してくれる。
guzzlehttp/guzzle
https://github.com/guzzle/guzzle
簡単にHTTPリクエストを送信するコードが書ける。
外部サービスのAPIにリクエストするときや
フロントエンドからajaxでAPIリクエストするときに利用。
laracasts/flash
https://github.com/laracasts/flash
フラッシュメッセージを簡単に表示できる。
データ登録完了時や削除完了時に
画面上部に「登録完了しました。」みたいなメッセージ表示をする。
kyslik/column-sortable
https://github.com/Kyslik/column-sortable
一覧系画面で簡単にソート機能を実装できる。
一覧テーブルのヘッダー行をクリックするだけで
昇順、降順ソートを切り替えられる。
league/flysystem-aws-s3-v3
https://github.com/thephpleague/flysystem-aws-s3-v3
S3にファイルアップロード、ダウンロードをする場合に利用。
aws/aws-sdk-php-laravel
https://github.com/aws/aws-sdk-php-laravel
その他AWSサービス利用時に必要。
SESでメール送信など。
アプリによっては使う
orangehill/iseed
https://github.com/orangehill/iseed
実際にDBに入っているデータからseederファイルを逆生成する。
Enum
・marc-mabe/php-enum
・myclabs/php-enum
・bensampo/laravel-enum
LaravelでEnumを実装したいときに利用。
似たようなパッケージがいくつかあり、どれがベストかはまだわからない。
spatie/laravel-menu
https://github.com/spatie/laravel-menu
階層になっているメニューを生成できる。
spatie/laravel-permission
https://github.com/spatie/laravel-permission
ユーザ、ロール、権限
の制御を簡単にできる。
ユーザ、ロール、権限を
多対多対多で管理するようなアプリでは非常に便利。
ユーザへのロール・権限の付与、はく奪の処理や
ユーザのロール・権限によるアクセス制御などが簡単。
davejamesmiller/laravel-breadcrumbs
https://github.com/davejamesmiller/laravel-breadcrumbs
パンくずリストの表示や管理がしやすくなる。
league/csv
https://github.com/thephpleague/csv
CSVのインポート・エクスポート処理を簡単にしてくれる。
barryvdh/laravel-dompdf
https://github.com/barryvdh/laravel-dompdf
PDF出力処理を簡単にできる。
jenssegers/agent
https://github.com/jenssegers/agent
ユーザエージェントの取得、判定処理をできる。
公式パッケージ
Laravelドキュメントの
「公式パッケージ」の欄にいろいろ載っています。
課金システムを作れるCachierや
全文検索処理のためのScout、
SNSなど外部システム認証を導入するためのSocialiteなど、
もしアプリ要件にあれば導入必須となるような強力なパッケージがいくつかあります。
laravel-awesome-project紹介パッケージ
laravel-awesome-projectのページの
「popular-packages」の欄に、
便利なパッケージがカテゴリ別で大量に紹介されています。
この一覧をざーっと確認して
自分のアプリに導入できるようなパッケージがないか確認するのはおすすめです。