Laravel10をインストールして使ってみました。新機能などご紹介。

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

2023年2月7日にリリース予定のLaravel10を、いち早くインストールして使ってみました。

インストール方法や、新機能などご紹介します。

「新しいLaravel情報を知りたい♪」

と思っていたら、参考にしてくださいね。

Junko
Junko

ただ、まだ全ての情報が公開されているわけではありません。

現時点で公式記事に掲載されていることを土台に、ご紹介しますね。

Laravel10のインストール方法

コンポーザーでは、下記コマンドでLaravel10のプロジェクトを作成できます。

  • composer create-project –prefer-dist laravel/laravel までは、通常どおりです。
  • その後に、プロジェクト名をいれます。
  • Laravel10を入れる場合は、その後に dev-masterと入れます。

*Laravel10は、Packagistではdev-masterで登録されています。Packagistは、Composerのメインリポジトリとなるサイトとなります。ここにあるライブラリは、composerコマンドでインストールできます。

チェックポイント! Laravel10はPHP8.1以上が必要です。

なお、Laravel10を入れるには、PHP8.1以上が必要です。もし今の環境にPHP8.1がない場合には、Laravel10を入れる前に準備しておきましょう。

Junko
Junko

ちなみに、Laravel9ではPHPは8.0以上でOKでした。

わたしは今回の検証用に、Xamppを使ってインストールしました。複数バージョンのXAMPPをひとつのPCで使う方法は、こちらの記事で紹介しています。

Laravel10の機能について

2022年12月22日時点でLaravelの公式記事にあるLaravel10の新機能・変更点を紹介します。

スケルトンにネイティブの型宣言が追加

Laravel10では、スケルトンコード(ひな形ファイル)に型宣言が追加されます。

最新のPHPのタイプヒンティング機能を用いる形で、型が追加されるようです。

ユーザー側にどういった影響があるのかは、まだ分かりません。

今後、この変更による注意点などが記事に追加されていくとのことで、また何か新しいことがあれば、追記していきます。

Invocableバリデーションルールがデフォルトに

Laravelでは、バリデーションルールを自分で作ることもできます。

その際、Laravel9では、ルール作成コマンドに --invokable を付けることで、作成されたファイルに __invokeメソッドを入れることができました。

Laravel10では、オプションを付けずにルール作成コマンドを実行すると、デフォルトで --invokable が反映された状態でルールが作られます。

【ルール作成用コマンド】

【作成されたtestルールファイルの __invokeメソッド】

__invokeメソッドは、属性名、値、バリデーションエラー時に呼び出されるコールバックの3つの引数を受取ります。

1月27日追記:モデルやコントローラ名を入れ忘れても安心

Laravel10では、モデルやコントローラを作成する際、名前を入れ忘れても安心な機能が追加されています。

たとえば、TestControllerという名前のコントローラを作成しようとして、うっかりコントローラ名を入れ忘れて、次のコマンドを入力したとします。

するとすかさず 、What should the controller be named?(コントローラの名前はどうしましょうか?)と聞いてくれます。

コントローラー名を入力すると、さらに Which type of controller would you like?(どんなタイプのコントローラーにします?)と聞かれます。この段階で、リソースコントローラを指定することができます。

【コントローラ名を入れずにコントローラを作成した時の質問】

ちなみにモデル名を入れ忘れたときにも、同じように、What should the model be named?(モデル名はどうしましょうか?)と聞いてくれます。

モデル名を入力すると、次に Would you like any of the following?(下記のいずれかをお付けしますか?)と聞かれます。この段階で、マイグレーションファイルを作ったり、ファクトリーを作ったり等、色々なことができます。

【モデル名を入れずにモデルを作成した時の質問】

なかなかのおせっかいぶりですね。

Laravel9での非推奨メソッドを除外

Laravel9で非推奨とされたメソッドは、Laravel10で除外されます。

後日、リリースアップグレードガイドで非推奨メソッドの概要、潜在的な影響、アップグレード方法が説明される予定です。

Laravel9のサポートはいつまで?

Laravel10が出た後も、Laravel9のサポートは継続して行われます。

現在のところ、Laravel9のバグフィックスは2023年8月8日まで、セキュリティフィックスは2024年2月6日の予定となっています。

でも普段から、ちょこちょこ新機能は追加されてます

なおLaravelは、大きなバージョンアップ以外でも、ちょこちょこ新機能が搭載されています。

最近気づいた点としては、Laravel Breezeパッケージを入れると、これまであったエラー表示用のコンポーネントファイルが変更されていたりしました。

また、同じくLaravel Breezeパッケージについてですが、プロフィールページがデフォルトで搭載されるようになりました。

右上の【Profile】メニューをクリックすると、プロフィールページを表示できます。

Junko
Junko

これって、わりと大きい変更な気がします…。

Laravelは日々進化をしているので、久しぶりに使ってみると「こんなのあったっけ?」と感じられるかもしれません。

さいごに

今回の記事は、下記のLaravelの公式記事を参考にしました。

個人的には、ひな形ファイルに型宣言が追加されるという点が、大きな変更かと感じます。

ユーザー側としては、具体的にどういった点を意識しておくべきか。この辺りハッキリしてきたら追記していきます。

他にも新しい情報が出た時に、記事を更新するか、新しい記事を書いていく予定です。

Junko
Junko

Laravelの進化に、一緒についていきましょう♪

今後が気になったら、またブログ見に来てくださいね。

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

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

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

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

【無料プレゼント】

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

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

詳細はこちらをクリック

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

社内にWebアプリ開発経験がなくて、困ってませんか?

「自社でWebアプリ開発を始めていきたい」
という企業様のために、Laravelセミナー・プログラミング教育を実施しています。

【セミナー使用スライド】

詳細はこちらご覧ください

Twitter始めました。
40代からプログラミング!

コメント

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