というわけで、Laravelのバージョンのおすすめの選び方を解説していきます。
Laravelを今から学ぶならバージョンはどれがおすすめ?
今からLaravelを学ぶなら、Laravel6系を学ぶのがおすすめです。
理由は情報が多く、LTSだからです。
LaravelのLTSって何?
Laravelの公式ウェブサイトを見ると、現在までのバージョンの横に(LTS)と書かれてるものがあります。このLTSというのは、Long Term Support の略。つまり長期サポートの意味です。
LTSマークが付いてるものほど、公式がサポートしてくれる期間が長いって事です。
Version | Release | Bug Fixes Until | Security Fixes Until |
---|---|---|---|
5.5 (LTS) | August 30th, 2017 | August 30th, 2019 | August 30th, 2020 |
5.6 | February 7th, 2018 | August 7th, 2018 | February 7th, 2019 |
5.7 | September 4th, 2018 | March 4th, 2019 | September 4th, 2019 |
5.8 | February 26th, 2019 | August 26th, 2019 | February 26th, 2020 |
6 (LTS) | September 3rd, 2019 | September 7th, 2021 | September 6th, 2022 |
7 | March 3rd, 2020 | October 6th, 2020 | March 3rd, 2021 |
8 | September 8th, 2020 | March 1st, 2022 | September 6th, 2022 |
9(LTS) | September, 2021 | September, 2023 | September, 2024 |
Laravel公式より引用
そしてその中でも現在一番長いセキュリティの修正対応を保証しているのがLaravel6の2022年の9月までなんです。
と言っても、2021年の9月中には、最新かつLTSのLaravel9が公式リリースされる予定で、
今度はそれが最長のセキュリティ修正対応になる予定です。
例えばLaravelを使ったサイトを作って、頻繁にバージョンアップするなら問題ないんですが、
バージョンアップすると、仕様もところどころ変わりますから、その都度サイトでバグが出ないように修正する必要が出てきます。
これに関しては、WordPressの場合もそうですよね。WordPressのバージョンが上がったり、PHPが5→7に変わったりすると、正しく動かなくなるプラグインなんかが出てくるじゃないですか。
iOSもバージョンが上がると動かないアプリが出てきたりするでしょ?それと同じで、
Laravelもバージョンを上げるとバグが出る機能が出てくる可能性があります。
ズボラさんでずっとバージョンアップしたくないって人なんかは特にLTSを選ぶ事で、
セキュリティを意識しつつ、大幅なサイトの変更に悩まされる回数が減るので、現状はLTSが付いたLaravel6がおすすめというわけです。
Laravel最新版は現在8だが・・
現在Laravelは一番最新のバージョンで8があります。(まもなく9も出ますが)
ただ、7、8は情報が少なくあまり学習できるサイトや書籍がないのと、LTSではないというのがあります。(9ももちろんまだ情報が非常に少ないです。書籍対応もまだ先になるでしょう)
逆にいうと、一番情報が多いのは5系なので、5系を学ぶのが一番簡単だとも言えます。
しかし今から学ぶなら情報がしっかり増えてきている6系で学んでいった方が最新状態を保ちつつ、情報も拾いやすいので、学びやすいと私は考えてます。
→Laravel入門。図解とチュートリアルでプログラミング初心者もできる!
Laravel5とLaravel6はどこが特に違う?
実際、ググるとLaravel5の情報とLaravel6の情報が混在していて、初心者は特にそれぞれのサイトで書かれている事に違いがあるので頭が混乱しますよね。
しかもLaravel5の中でも、5.3と5.7ではまた違うみたいな事も多々あって、
「Laravelで掲示板を作ってみよう!」みたいなチュートリアルサイトの通りにやってもエラーが途中で出まくりで、「全然できないじゃん!(泣)」とキーボードを投げ捨て、「もういやだーっ」と叫んで挫折って流れになりますので・・
そうならないように、特にここが変わったよという部分を書いていきます。
よく迷う変更点
- routes.phpがweb.phpに変わった
- ログイン機能のインストール方法が変わった
routes.phpがweb.phpに変わった。
チュートリアルサイトで、「app/Http/routes.phpを開いてください」みたいな記述が出てきたら、それはLaravel6にはありません。代わりに、routesフォルダの中にweb.phpがあります。
それが同じものなので、web.phpに同じ内容を書き込めば、動きます。
routes.php = web.php は一番重要なファイルとも言えるので、これだけは覚えておきましょう。
→Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!
→Laravel初心者が絶望するController,Blade,Routesの関係が図解でよく分かる!
他にも大抵「それ無いんだけど・・」って思ったら、違うフォルダに変わってたっていうオチが多いです。
ログイン機能のインストール方法が変わった
Laravelには、ログイン画面を簡単に設置できるインストール機能があるんですが、
そのやり方がLaravel6では変わり、以前の方法ではうまく行かなくなりました。
Laravel6のログイン画面作成方法はこちらで解説してます↓
Laravel6でログイン機能を実装の方法。初心者でも確実にできるように丁寧に解説!
Laravelをバージョン指定してダウンロードするには?
バージョン指定は以下のようにやります。
コピーしました
コピー
composer create-project "laravel/laravel=6.*" abc
Command prompt(Shell)などでComposerを使ってLaravelをインストールする際、
laravel/laravel=6.*のように書けば、6系がダウンロードできます。
逆に5.3がダウンロードしたいなら、5.3.*のように書くという具合です。
より詳しくはこちらで解説してます。
→Laravelのバージョン指定インストールのやり方。超初心者でも必ずできるレベルで解説
→Laravel6をPC上で動かすための開発環境の構築とは?XAMPPを例にやさしく解説!
学ぶべきLaravelのバージョン・まとめ
というわけで、バージョンで迷ったら、Laravel6を学ぶのがLTSかつ情報が多いのでおすすめです。