🌐

Laravel使いの情報源まとめ

10 min read 4

はじめに

最近Laravelの情報収集用にTwitterアカウントを作ってみました。結果、海外に比べて日本は情報が散逸していてちょっと辛いぞという気持ちになりました。そのためLaravelの情報を集約するためのリンク集を作ることにしました。このリンク集が、業務や学習の手助けになればと思います。もし追加した方が良いリンクがあれば、コメント欄で教えてください。

基本

Laravel学習の時も、実業務で使う時も一貫してお世話になるであろうリンクを集めています。

Laravel公式

主にLaravelの機能を調査したいときに参照します。

アップグレードガイド

バージョンアップ時の差分と対応方法を知りたいときに参照します。

リリースノート

各バージョンの新機能を知りたいときに参照します。

サポートポリシー

各バージョンのサポート期間を知りたいときに参照します。対象バージョンの他、直近のLTSのバージョンまですべて参照できます。

リポジトリ

API

Laravelコアのメソッドやプロパティを調査したいときに参照します。リポジトリを直接見るより、先にこっちを見ることのほうが多いです。

Laravelチートシート

Laravel開発時によくつかうメソッドやコマンドのまとめとなります。

https://dev.to/ericchapman/my-beloved-laravel-cheat-sheet-3l73

Eloquentチートシート

Eloquentを使ってコード書くときに参照します。

https://blog.renatolucena.net/post/eloquent-relationships-cheat-sheet

Artisanチートシート

Laravelのチームメンバーが作っているArtisanのチートシート。オプション含めて書いてあるので便利です。

https://artisan.page/

学習

Laravelを効率良く学習するためのリンクを集めています。初級者から上級者までカバーできるようまとめたつもりです。

チュートリアル

Laravelを基礎から学ぶためのリンクを集めています。あくまでここは日本語サイトのみに絞っています。

入門 Laravel チュートリアル

TODOアプリの作成を通じて、Laravel開発の基礎を学べます。バージョンは5.7なのが残念。電子書籍版が6.x対応なので、web版が良さそうなら電子書籍版を購入すると良さそうです。

https://www.hypertextcandy.com/laravel-tutorial-introduction
https://leanpub.com/laravel-primer

ドットインストール(Laravel8入門)

Laravel8対応の日本語チュートリアルは現時点ではこれが唯一無二かもしれない。

https://dotinstall.com/lessons/basic_laravel_v3

Laravel学習帳

初級、中級、上級で分けられたチュートリアルのほかTIPS集も充実しています。

https://laraweb.net/

Teckpit

有償で色々な教材を提供しています。今のところLaravelの基礎をすでに学んでいて、そこから更に1歩踏み出したい人向けの教材がメインのようです。

https://www.techpit.jp/courses/category/Laravel

ベストプラクティス

Laravelのコードを、より無駄なく分かりやすく書くための指針を記したドキュメントのリンクを集めています。

Laravelベストプラクティス

日本語でも参照可能な唯一のベストプラクティス集。中級者目指したい人にはちょうど良い内容です。

https://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md

BaseLaravel

英語のみ。PDFでダウンロードして読むタイプです。業界で人気の「リーダブルコード」のLaravel版とも言うべき内容になっています。合理性を突き詰めているので、その辺好き嫌いは分かれるかも部分もあるかもしれません。

https://baselaravel.com/

Samuel Štancl tweet

Samuel ŠtanclさんのLaravelのベストプラクティスについての一連のツイート。良いコードと悪いコードの比較画像も豊富なので、英語だけど十分理解できます。

https://twitter.com/samuelstancl/status/1272822437181378561

5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

Laravelを使ったアーキテクチャ設計の落とし所が解説されています。ここまで実務的な設計に言及したドキュメントは珍しいと思います。

https://zenn.dev/mpyw/articles/ce7d09eb6d8117

Best use of Skinny Controller Fat Model in Laravel

コントローラーを簡素に保つためのベストプラクティスが完璧にまとまってます。英語だけどgoogle翻訳かけてでも読みましょう。

https://hafiqiqmal93.medium.com/best-use-of-skinny-controller-fat-model-in-laravel-41794b279a90

コードリーディング

Laravelのコードを勉強するうえで参考になりそうなOSSのプロジェクトのリンクを集めています。

koel

コードリーディングするときにたいてい名前の挙がるプロジェクト。OSSの個人用音楽配信サーバー。リポジトリーパターンを取り入れてるなど、アーキテクチャに工夫が見られるのも特徴です。

https://koel.dev/
https://github.com/koel/koel

Unifiedtransform

OSSの学校管理システム。権限管理やアカウント管理、画面からのデータインポートやエクスポートなど業務用のシステムに必要な機能が網羅されています。

https://changeweb.github.io/Unifiedtransform/
https://github.com/changeweb/Unifiedtransform

Canvas

Mediumクローン。シンプルなMVC構成のプロジェクト。koelと同様、フロントエンドはvueです。

https://trycanvas.app/
https://github.com/austintoddj/canvas

BookStack

Wikiクローン。Wikiというと昔ながらのナレッジマネジメントシステムという趣ですが、これはそれをかなりモダンにしたプロジェクト。非常に多機能で、特に履歴管理の実装あたりが興味深いと思います。

https://www.bookstackapp.com/
https://github.com/BookStackApp/BookStack

Attendize

チケット販売&イベント管理用パッケージ。多機能なのでLaravelの様々な実装を見ることができます。多言語対応のメッセージの返し方みたいなニッチな実装もあります。

https://www.attendize.com/
https://github.com/Attendize/Attendize

freek.dev

PHPやLaravelのメディアサイトのコード。機能自体はシンプルですが、Laravel界隈で有名なspatieライブラリの開発者が作ったものなので、実装の仕方はとても参考になります。1アクション1コントローラー派のようで、invoke使っています。

https://freek.dev/
https://github.com/spatie/freek.dev

PIXELFED

instagramクローン。ユーザーブロックやミュートなどもあり、高度なタイムラインのテーブル設計を学べます。

https://pixelfed.org/
https://github.com/pixelfed/pixelfed

laravel-blog

ブログパッケージ。Laravel開発のベストプラクティスを伝える目的で作ったと書かれているだけあり、公式で紹介されている機能が万遍なく実装されています。

https://github.com/guillaumebriday/laravel-blog

TIPS/事例集

特定の機能に関する実装例、便利なメソッドの紹介などLaravelに関する技術的な小ネタをまとめて閲覧できる情報サイトのリンクを集めています。有益な情報は英語サイトのほうが多いので、英語が苦手なひとはgoogle翻訳やDeepL翻訳を使って頑張って追いかけてください。

Laravel Articles

英語のみ。LaravelのTIPS集。マニアックなTIPSも多く、読み応えがあります。

https://laravelarticle.com/

Laraveltricks

英語のみ。Laravel Articlesよりもこっちの方が記事数は多いですが、6年前の記事とかも含まれるので、その点注意が必要です。

https://laravel-tricks.com/tricks

Laravel Tips

LivewireのTIPSが結構混じっている気がしますが、どれも実践的なTIPSだと思います。

https://laravel-code.tips/

https://quicksnippets.dev/?category=laravel

Qiita Laravelタグ

探せば有用な記事もあります。ユーザーが自由に投稿できる分、品質にばらつきもありますし、誤りもあります。2年前ぐらいの方が良記事が多い気がします。

https://qiita.com/tags/laravel

開発環境

有名どころを中心にピックアップしています。

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使ってるならこれ。

https://laradock.io/

vessel

docker使う場合のyet another tool。laradockと比べ、こちら方がシンプルで使い勝手が良いです。webとappコンテナがsupervisor使って1つになっているのも個人的には嬉しいです。

https://vessel.shippingdocker.com/

Laragon

windowsのローカル開発環境だとXAMPPが根強い人気ですが、これはその代替と目されているようです。他のツールと比べて仮想環境を使わず軽量なのも魅力で、名前はLaravelを連想させますが、実際は無関係で、なんならRubyとRailsやPythonとDjangoのような組み合わせもセットアップできます。

https://laragon.org/

情報収集

Laravelの最新情報や最新パッケージ、その他有象無象の情報を収集するのに便利であろうリンクを集めています。

Laravel News

Laravel界隈の最新トピックや便利TIPSやパッケージの情報と出会えます。

https://laravel-news.com/

made with Laravel

新作の便利パッケージやLaravelで作られたサービスに出会えます。

https://madewithlaravel.com/

Best of Laravel

LaravelのTIPS、事例、技術情報に関するキュレーションメディアです。dev.toやmediumなどメディアごとにLaravelの情報を追うのは大変面倒なので、ここでまとめて面白そうな情報をピックアップします。

https://bestoflaravel.com/

Awesome Laravel

色々網羅されたリンク集でたまに見ます。

https://github.com/chiraggude/awesome-laravel

おすすめツール/パッケージ

Laravelツールやパッケージのリンクを集めています。

Laravel Debugbar

Laravel使いは皆使ってると思われるデバッグツールです。ブラウザ上で、発行されたSQLやセッションで保持しているデータなどを確認できる。Laravel6.xからIgnitionと統合されたため、ddd() でほぼ同じ結果を得られるようになりましたが、それでも便利なことに変わりはありません。

https://github.com/barryvdh/laravel-debugbar

Laravel-lang

ユーザー認証スカフォールドの多言語パッケージ。もちろん日本語も含まれています。laravel8まで対応しているので、Jetstreamにも使えます。

https://github.com/Laravel-Lang/lang

Laravel Enum

laravelでenumを使うためのパッケージ。enum使うためのパッケージは他にもいくつかありますが、機能面でこれが一番良い印象です。

https://github.com/BenSampo/laravel-enum

Laravel Totem

GUIのタスクスケジューラ。画面からタスクの再実行ができたり、実行結果や実行時間の履歴を残すこともできます。

https://github.com/codestudiohq/laravel-totem

Laravel Excel

LaravelでExcelやcsvを扱うためのパッケージで、日本でもいくつか記事を見かけるほどにはメジャー。実装がとても素晴らしい反面、phpspreadsheet をwrapした代物であるため、遅い上に大量データを扱うとchunkを使っていてもメモリ溢れを起こすのがネックです。

https://laravel-excel.com/

Agent

UserAgentから種別を判定するパッケージ。PCやモバイルで処理を分岐させたい場合や、robotかどうかを判定したい場合に便利です。Laravel以外でも使えます。

https://github.com/jenssegers/agent

Laravel OPcache

Laravel遅いって言ってる人が大抵セットアップしてないOPcacheを簡単に扱えるツール。ArtisanコマンドからOPcacheをクリアできるようになるので、デプロイのプロセスにOPcacheクリアを簡単に組み込めるのが嬉しい。

https://github.com/appstract/laravel-opcache

make-testable

Artisanのmakeコマンドを実行する際に、 --testをつけることで、テストコードも同時に生成できます。

https://github.com/iaK/make-testable

JIGSAW

静的サイトジェネレータ。markdownで書いたコンテンツをbladeテンプレートに流し込んで静的ページを作成できます。巷ではHugoやGatsbyが人気ですが、これはbladeテンプレートを使って書けるので学習コストをかなり節約できそうだなと思います。

https://jigsaw.tighten.co/

おすすめサービス

Laravelの開発や学習をサポートしてくれるであろうサービスのリンクを集めています。

LaravelDB

ER図を書くと、そこからLaravelの各リソースを自動で生成してくれるツール。日本語という点も嬉しい。

https://laraveldb.com/index.php

DrawSQL

LaravelDBと同じだが、こちらはmigrationファイルのみ生成してくれるツール。見た目がおしゃれなので、外部にER図を公開したい時に有用。15テーブル越えると有償。

https://drawsql.app/

carbon

PHPの日時処理拡張パッケージのことではなく、コードをカッコ良く共有するためのツール。Laravel関係無いけど。

https://carbon.now.sh/

Laravel Playground

検証目的でLaravelのコードを書いて動かしてみたいときに使えます。artisan tinkerでも良い気もしますが、ちょっとユースケースが違います。

https://laravelplayground.com/

Tinkervel

国産のLaravel Playground的なサービス。Laravel 好きにmigration書いて実行できるという点で、Playgroundよりも拡張性が高い。様々なLaravelのメソッドの検証に使える。

https://tinkervel.com/

Pastebin

Laravelのコードを貼り付けて保存すると、シンタックスハイライト付きの見やすい画面が生成されます。そのURLを他の人と共有することで、自由にLaravelのコードブロックをシェアできます。

https://paste.laravel.io/

MENTA

メンターを募集できるサービスです。Laravelのメンターも100人以上登録されているので、独学では辛いという場合に利用してみると良いです。

https://menta.work/plan?q=Laravel

Discussion

英語の動画サイトもありであれば、laracastなんかもいかがでしょうか。
laracasts

コメントありがとうございます。Laracastsは有用なサイトですが、英語のヒアリング力を求められる点で万人向けでは無いなと。テキストなら翻訳サービスが気軽に使えるため英語サイトでも問題無いだろうと考えています。

なるほど。そういう事ですね。失礼しました。

いえいえ、こういった提案はありがたいものです!これからもよろしくお願いします。

ログインするとコメントできます