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でWebアプリをいちから作れるようになりたい!」

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

詳細はこちらをクリック

【個別サポート実施中】

「本ブログに記載の方法を試してみたけれど、うまくいかない」「コードを見てほしい」という方のために、有償でメールサポートいたします。以下のボタンをクリックして相談フォームにアクセスして下さい。

詳しく見る

Twitter始めました。
スポンサーリンク
40代からプログラミング!

コメント

タイトルとURLをコピーしました