Laravel使いの情報源まとめ
はじめに
最近Laravelの情報収集用にTwitterアカウントを作ってみました。結果、海外に比べて日本は情報が散逸していてちょっと辛いぞという気持ちになりました。そのためLaravelの情報を集約するためのリンク集を作ることにしました。このリンク集が、業務や学習の手助けになればと思います。もし追加した方が良いリンクがあれば、コメント欄で教えてください。
基本
Laravel学習の時も、実業務で使う時も一貫してお世話になるであろうリンクを集めています。
Laravel公式
主にLaravelの機能を調査したいときに参照します。
アップグレードガイド
バージョンアップ時の差分と対応方法を知りたいときに参照します。
- https://laravel.com/docs/6.x/upgrade / https://readouble.com/laravel/6.x/ja/upgrade.html
- https://laravel.com/docs/7.x/upgrade / https://readouble.com/laravel/7.x/ja/upgrade.html
- https://laravel.com/docs/8.x/upgrade / https://readouble.com/laravel/8.x/ja/upgrade.html
- https://laravel.com/docs/9.x/upgrade / https://readouble.com/laravel/9.x/ja/upgrade.html
- https://laravel.com/docs/10.x/upgrade
リリースノート
各バージョンの新機能を知りたいときに参照します。
- https://laravel.com/docs/6.x/releases / https://readouble.com/laravel/6.x/ja/releases.html
- https://laravel.com/docs/8.x/releases / https://readouble.com/laravel/8.x/ja/releases.html
- https://laravel.com/docs/9.x/releases / https://readouble.com/laravel/9.x/ja/releases.html
- https://laravel.com/docs/10.x/releases
サポートポリシー
各バージョンのサポート期間を知りたいときに参照します。対象バージョンの他、直近のLTSのバージョンまですべて参照できます。
リポジトリ
- https://github.com/laravel/laravel (newしたときに配置されるソースはこっちを見ます)
- https://github.com/laravel/framework (vendorに配置されるソースはこっちを見ます)
API
Laravelコアのメソッドやプロパティを調査したいときに参照します。リポジトリを直接見るより、先にこっちを見ることのほうが多いです。
- https://laravel.com/api/6.x/index.html
- https://laravel.com/api/8.x/index.html
- https://laravel.com/api/9.x/index.html
- https://laravel.com/api/10.x/index.html
Laravelチートシート
Laravel開発時によくつかうメソッドやコマンドのまとめとなります。
Eloquentチートシート
Eloquentを使ってコード書くときに参照します。
Artisanチートシート
Laravelのチームメンバーが作っているArtisanのチートシート。オプション含めて書いてあるので便利です。
学習
Laravelを効率良く学習するためのリンクを集めています。初級者から上級者までカバーできるようまとめたつもりです。
チュートリアル
Laravelを基礎から学ぶためのリンクを集めています。あくまでここは日本語サイトのみに絞っています。
入門 Laravel チュートリアル
TODOアプリの作成を通じて、Laravel開発の基礎を学べます。バージョンは5.7なのが残念。電子書籍版が6.x対応なので、web版が良さそうなら電子書籍版を購入すると良さそうです。
ドットインストール(Laravel8入門)
Laravel8対応の日本語チュートリアル。Laravel9のチュートリアルはまだないが、Laravel8とLaravel9では大きな差はないため、Laravel8から始めるのは悪くない選択。
Laravel学習帳
初級、中級、上級で分けられたチュートリアルのほかTIPS集も充実しています。
Teckpit
有償で色々な教材を提供しています。今のところLaravelの基礎をすでに学んでいて、そこから更に1歩踏み出したい人向けの教材がメインのようです。
40代からプログラミング!
タイトルからは想像できませんが、初心者向けのLaravel解説サイトとしては、非常に良くできています。特に、各記事のコメント欄にて質問すると、サイトの運営者から回答が返ってくる点が素晴らしく、記事を読んだだけでは不安という方でも、挫けずに学習を続けられるかもしれません。
ベストプラクティス
Laravelのコードを、より無駄なく分かりやすく書くための指針を記したドキュメントのリンクを集めています。
Laravelベストプラクティス
日本語でも参照可能な唯一のベストプラクティス集。中級者目指したい人にはちょうど良い内容です。
BaseLaravel
英語のみ。PDFでダウンロードして読むタイプです。業界で人気の「リーダブルコード」のLaravel版とも言うべき内容になっています。合理性を突き詰めているので、その辺好き嫌いは分かれるかも部分もあるかもしれません。
Samuel Štancl tweet
Samuel ŠtanclさんのLaravelのベストプラクティスについてのツイートを中心に、良いコードと悪いコードを比較画像で示しながら紹介しています。英語だけど十分理解できます。
5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
Laravelを使ったアーキテクチャ設計の落とし所が解説されています。ここまで実務的な設計に言及したドキュメントは珍しいと思います。
Best use of Skinny Controller Fat Model in Laravel
コントローラーを簡素に保つためのベストプラクティスが完璧にまとまってます。英語だけどgoogle翻訳かけてでも読みましょう。
コードリーディング
Laravelのコードを勉強するうえで参考になりそうなOSSのプロジェクトのリンクを集めています。
koel
コードリーディングするときにたいてい名前の挙がるプロジェクト。OSSの個人用音楽配信サーバー。リポジトリーパターンを取り入れてるなど、アーキテクチャに工夫が見られるのも特徴です。
Unifiedtransform
OSSの学校管理システム。権限管理やアカウント管理、画面からのデータインポートやエクスポートなど業務用のシステムに必要な機能が網羅されています。
Canvas
Mediumクローン。シンプルなMVC構成のプロジェクト。koelと同様、フロントエンドはvueです。
BookStack
Wikiクローン。Wikiというと昔ながらのナレッジマネジメントシステムという趣ですが、これはそれをかなりモダンにしたプロジェクト。非常に多機能で、特に履歴管理の実装あたりが興味深いと思います。
Attendize
チケット販売&イベント管理用パッケージ。多機能なのでLaravelの様々な実装を見ることができます。多言語対応のメッセージの返し方みたいなニッチな実装もあります。
freek.dev
PHPやLaravelのメディアサイトのコード。機能自体はシンプルですが、Laravel界隈で有名なspatieライブラリの開発者が作ったものなので、実装の仕方はとても参考になります。1アクション1コントローラー派のようで、invoke使っています。
PIXELFED
instagramクローン。ユーザーブロックやミュートなどもあり、高度なタイムラインのテーブル設計を学べます。
laravel-blog
ブログパッケージ。Laravel開発のベストプラクティスを伝える目的で作ったと書かれているだけあり、公式で紹介されている機能が万遍なく実装されています。
TIPS/事例集
特定の機能に関する実装例、便利なメソッドの紹介などLaravelに関する技術的な小ネタをまとめて閲覧できる情報サイトのリンクを集めています。有益な情報は英語サイトのほうが多いので、英語が苦手なひとはgoogle翻訳やDeepL翻訳を使って頑張って追いかけてください。
Laravel Articles
英語のみ。LaravelのTIPS集。マニアックなTIPSも多く、読み応えがあります。
Laraveltricks
英語のみ。Laravel Articlesよりもこっちの方が記事数は多いですが、6年前の記事とかも含まれるので、その点注意が必要です。
Laravel Tips
LivewireのTIPSが結構混じっている気がしますが、どれも実践的なTIPSだと思います。
Qiita Laravelタグ
探せば有用な記事もあります。ユーザーが自由に投稿できる分、品質にばらつきもありますし、誤りもあります。2年前ぐらいの方が良記事が多い気がします。
開発環境
有名どころを中心にピックアップしています。
Laravel Sail
Laravel開発チームが後述のvesselにインスパイアされて作った公式のdocker用開発環境。2020年12月以降のLaravel8であれば、同梱されています。
https://laravel.com/docs/8.x/sail / https://readouble.com/laravel/8.x/ja/sail.html
valet
Laravel公式で提供している開発環境。仮想環境の構築不要ならこれ。ただしMacのみとなります。
https://laravel.com/docs/6.x/valet / https://readouble.com/laravel/6.x/ja/valet.html
Homestead
Laravel公式で提供している開発環境。Vagrant使ってるならこれ。
https://laravel.com/docs/6.x/homestead / https://readouble.com/laravel/6.x/ja/homestead.html
laradock
Laravel非公式ですが、界隈では公式ツール並みに有名。docker使ってるならこれ。
vessel
docker使う場合のyet another tool。laradockと比べ、こちら方がシンプルで使い勝手が良いです。webとappコンテナがsupervisor使って1つになっているのも個人的には嬉しいです。
Laragon
windowsのローカル開発環境だとXAMPPが根強い人気ですが、これはその代替と目されているようです。他のツールと比べて仮想環境を使わず軽量なのも魅力で、名前はLaravelを連想させますが、実際は無関係で、なんならRubyとRailsやPythonとDjangoのような組み合わせもセットアップできます。
情報収集
Laravelの最新情報や最新パッケージ、その他有象無象の情報を収集するのに便利であろうリンクを集めています。
Laravel News
Laravel界隈の最新トピックや便利TIPSやパッケージの情報と出会えます。
made with Laravel
新作の便利パッケージやLaravelで作られたサービスに出会えます。
Best of Laravel
LaravelのTIPS、事例、技術情報に関するキュレーションメディアです。dev.toやmediumなどメディアごとにLaravelの情報を追うのは大変面倒なので、ここでまとめて面白そうな情報をピックアップします。
Awesome Laravel
色々網羅されたリンク集でたまに見ます。
おすすめツール/パッケージ
Laravelツールやパッケージのリンクを集めています。
Laravel Debugbar
Laravel使いは皆使ってると思われるデバッグツールです。ブラウザ上で、発行されたSQLやセッションで保持しているデータなどを確認できる。Laravel6.xからIgnitionと統合されたため、ddd()
でほぼ同じ結果を得られるようになりましたが、それでも便利なことに変わりはありません。
Laravel-lang
ユーザー認証スカフォールドの多言語パッケージ。もちろん日本語も含まれています。laravel8まで対応しているので、Jetstreamにも使えます。
Laravel Enum
laravelでenumを使うためのパッケージ。enum使うためのパッケージは他にもいくつかありますが、機能面でこれが一番良い印象です。
Laravel Totem
GUIのタスクスケジューラ。画面からタスクの再実行ができたり、実行結果や実行時間の履歴を残すこともできます。
Laravel Excel
LaravelでExcelやcsvを扱うためのパッケージで、日本でもいくつか記事を見かけるほどにはメジャー。実装がとても素晴らしい反面、phpspreadsheet
をwrapした代物であるため、遅い上に大量データを扱うとchunkを使っていてもメモリ溢れを起こすのがネックです。
Agent
UserAgentから種別を判定するパッケージ。PCやモバイルで処理を分岐させたい場合や、robotかどうかを判定したい場合に便利です。Laravel以外でも使えます。
Laravel OPcache
Laravel遅いって言ってる人が大抵セットアップしてないOPcacheを簡単に扱えるツール。ArtisanコマンドからOPcacheをクリアできるようになるので、デプロイのプロセスにOPcacheクリアを簡単に組み込めるのが嬉しい。
make-testable
Artisanのmakeコマンドを実行する際に、 --test
をつけることで、テストコードも同時に生成できます。
JIGSAW
静的サイトジェネレータ。markdownで書いたコンテンツをbladeテンプレートに流し込んで静的ページを作成できます。巷ではHugoやGatsbyが人気ですが、これはbladeテンプレートを使って書けるので学習コストをかなり節約できそうだなと思います。
おすすめサービス
Laravelの開発や学習をサポートしてくれるであろうサービスのリンクを集めています。
LaravelDB
ER図を書くと、そこからLaravelの各リソースを自動で生成してくれるツール。日本語という点も嬉しい。
DrawSQL
LaravelDBと同じだが、こちらはmigrationファイルのみ生成してくれるツール。見た目がおしゃれなので、外部にER図を公開したい時に有用。15テーブル越えると有償。
carbon
PHPの日時処理拡張パッケージのことではなく、コードをカッコ良く共有するためのツール。Laravel関係無いけど。
Laravel Playground
検証目的でLaravelのコードを書いて動かしてみたいときに使えます。artisan tinker
でも良い気もしますが、ちょっとユースケースが違います。
Tinkervel
国産のLaravel Playground的なサービス。Laravel 好きにmigration書いて実行できるという点で、Playgroundよりも拡張性が高い。様々なLaravelのメソッドの検証に使える。
Pastebin
Laravelのコードを貼り付けて保存すると、シンタックスハイライト付きの見やすい画面が生成されます。そのURLを他の人と共有することで、自由にLaravelのコードブロックをシェアできます。
MENTA
メンターを募集できるサービスです。Laravelのメンターも100人以上登録されているので、独学では辛いという場合に利用してみると良いです。
Discussion
英語の動画サイトもありであれば、laracastなんかもいかがでしょうか。
laracasts
コメントありがとうございます。Laracastsは有用なサイトですが、英語のヒアリング力を求められる点で万人向けでは無いなと。テキストなら翻訳サービスが気軽に使えるため英語サイトでも問題無いだろうと考えています。
なるほど。そういう事ですね。失礼しました。
いえいえ、こういった提案はありがたいものです!これからもよろしくお願いします。