Laravel8とLaravel7の違いで知らないと困る3つのポイント

Laravelバージョンアップ・ニュース

これまでLaravel7を使っていた場合、Laravel8に移行する際に絶対に知っておくべきポイントを3つにまとめました。

「一体これまでと、どこを変えたらいいんだろう」

「必要な部分だけダイジェストで知りたい」

という方はぜひご一読ください。

バージョンアップときの対応も掲載しています。

Laravel8とLaravel7の違いで知らないと困る3つのポイント

それでは重要度順に、紹介していきます。

Laravel8はルート設定の方法が変わった

Laravel8では、ルート設定でコントローラーのパスを入れねばいけません。

たとえば、/test ページを表示する際、Testという名前のコントローラーファイルの testメソッドを使うとします。

Laravel7ではこのように書いていました。

Laravel8では、次のようにパスを正確に入れる必要があります。

ルート設定でのパスの入れ方3種類

パスを入れるには3つの方法あります。

じゅんこ
じゅんこ

3つ目の方法が一番ラク。

★方法①

まず、先ほどのように毎回入れる方法

★方法②

次に、ルートファイルの最初に入れてしまう方法

この場合は、コントローラーの書き方も変える必要があります。

★方法③

さいごは app/Providers/RouteServiceProvicer.php に入れる方法

29行目あたり【protected $namespace = ‘App\\Http\\Controllers’;】がコメントアウトされています。

コメントアウトを取って、有効にします。

こうしておけば、これまでどおりのルート設定で大丈夫です。

実はこれ、Laravel7と同じ方法です。

 

ひとことメモ

この部分は【protected $namespace = null】となっている場合もあります。

その場合は、【protected $namespace = null】をコメントアウトで無効にし、次の一行をいれます。

 

バージョンアップしたときは気にしなくてOK

Laravel7で作っていたプロジェクトを8にバージョンアップしたことで、既存のルートが崩れることはありません。

というのも先ほど書いた通り、Laravel7ではRouteServiceProvicer.php にパスが指定されおり、そのままの設定を使えるからです。

じゅんこ
じゅんこ

実際に試してみましたが、大丈夫でした。

Laravel8はモデルファイルの場所が変わった

ふたつめは、モデルファイルの場所が変わったこと。

今まではappフォルダの直下でした。

これが、app/Modelsの下になったのです。

バージョンアップしたときの動作

なおこの点も、Laravel7から8にバージョンアップしたときに影響はありません。

モデルファイルを作ると、これまでどおりappフォルダの直下に置かれます。

なぜなら、バージョンアップしたときにappフォルダ内にModelsフォルダがないためです。

ただし、appフォルダ直下にModelsフォルダを作ってあげると、次からはデフォルトのモデルファイルの保存場所がapp/Modelsに変わります。

じゅんこ
じゅんこ

これも実験してみました。

うっかり作ってしまうと面倒なので、要注意です^^;

Laravel8はJetstreamが利用可能に

Laravelは、フロントエンド用にlaravel/ui パッケージをインストール後、Bootstrap, React, Vue のいずれかのスカフォールドをインストールすることができます。

これらをインストールする際、認証機能も一緒にインストールするオプションがあります。

Laravel8でも引き続き上記は利用可能ですが、新たにJetstreamを認証のスカフォールドとして使えるようになりました。

Jetstreamには、ログイン・ユーザー登録・メール認証・セッション管理・チーム管理を行うためにセキュアで便利な機能がそろっています。

じゅんこ
じゅんこ

わたしも使ってみましたが、その高機能さに驚きました!

知っておいて損がない機能なので、もしご存じない場合は、こちらをご覧ください。

バージョンアップしたときは気にしなくてOK

これまでのBootstrap版も使えるので、バージョンアップときは気にしなくて大丈夫でしょう。

むしろ既に出来上がったWebアプリにあとからJetstreamを組み込むのは、無理な気も…

さいごに

Laravel8を使うときに知っておくべき3つの点はこちら。

今回のまとめ

  1. ルート設定の方法が変わる→RouteServiceProvicer.php を書き換えればOK
  2. モデルファイルのデフォルトの場所がapp から app/modelsに変更
  3. Jetstreamがインストール可能に

なお、migrationファイルが圧縮できるようになったこと、factory機能が変わったことなど、知っておいたほうが良いレベルの変更点もあります。

その機能を使っている人には影響がある、という項目も。

細かい点はこちらのファイルにまとめているので、気になったら見てみてください。

バージョン7→8のときの変更点:

バージョン8の機能:

Laravelバージョンアップ・ニュース

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました