2023年2月7日にリリース予定のLaravel10を、いち早くインストールして使ってみました。
インストール方法や、新機能などご紹介します。
「新しいLaravel情報を知りたい♪」
と思っていたら、参考にしてくださいね。

ただ、まだ全ての情報が公開されているわけではありません。
現時点で公式記事に掲載されていることを土台に、ご紹介しますね。
Laravel10のインストール方法
コンポーザーでは、下記コマンドでLaravel10のプロジェクトを作成できます。
1 |
composer create-project --prefer-dist laravel/laravel プロジェクト名 dev-master |
- 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を入れる前に準備しておきましょう。

ちなみに、Laravel9ではPHPは8.0以上でOKでした。
わたしは今回の検証用に、Xamppを使ってインストールしました。複数バージョンのXAMPPをひとつのPCで使う方法は、こちらの記事で紹介しています。
Laravel10の機能について
2022年12月22日時点でLaravelの公式記事にあるLaravel10の新機能・変更点を紹介します。
スケルトンにネイティブの型宣言が追加
Laravel10では、スケルトンコード(ひな形ファイル)に型宣言が追加されます。
最新のPHPのタイプヒンティング機能を用いる形で、型が追加されるようです。
ユーザー側にどういった影響があるのかは、まだ分かりません。
今後、この変更による注意点などが記事に追加されていくとのことで、また何か新しいことがあれば、追記していきます。
Invocableバリデーションルールがデフォルトに
Laravelでは、バリデーションルールを自分で作ることもできます。
その際、Laravel9では、ルール作成コマンドに --invokable を付けることで、作成されたファイルに __invokeメソッドを入れることができました。
Laravel10では、オプションを付けずにルール作成コマンドを実行すると、デフォルトで --invokable が反映された状態でルールが作られます。
【ルール作成用コマンド】
1 |
php artisan make:rule test |
【作成されたtestルールファイルの __invokeメソッド】
1 2 3 4 |
public function __invoke($attribute, $value, $fail) { // } |
__invokeメソッドは、属性名、値、バリデーションエラー時に呼び出されるコールバックの3つの引数を受取ります。
1月27日追記:モデルやコントローラ名を入れ忘れても安心
Laravel10では、モデルやコントローラを作成する際、名前を入れ忘れても安心な機能が追加されています。
たとえば、TestControllerという名前のコントローラを作成しようとして、うっかりコントローラ名を入れ忘れて、次のコマンドを入力したとします。
1 |
php artisan make:controller |
するとすかさず 、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】メニューをクリックすると、プロフィールページを表示できます。

これって、わりと大きい変更な気がします…。
Laravelは日々進化をしているので、久しぶりに使ってみると「こんなのあったっけ?」と感じられるかもしれません。
さいごに
今回の記事は、下記のLaravelの公式記事を参考にしました。
個人的には、ひな形ファイルに型宣言が追加されるという点が、大きな変更かと感じます。
ユーザー側としては、具体的にどういった点を意識しておくべきか。この辺りハッキリしてきたら追記していきます。
他にも新しい情報が出た時に、記事を更新するか、新しい記事を書いていく予定です。

Laravelの進化に、一緒についていきましょう♪
今後が気になったら、またブログ見に来てくださいね。
コメント