Laravel 10 の新機能: 最新のアップデートと機能の詳細

公開: 2023-01-25

大人気の Laravel フレームワークが導入されてから 10 年以上が経ちましたが、「Laravel は PHP 開発者に他に何を提供できるのか?」と疑問に思ったことはありませんか?

初心者とプロの開発者の両方にとって、PHP 開発がすでにどれほど単純化されているかを考えると、PHP が最も簡単なプログラミング言語であると開発者を信じ込ませたと主張する人さえいるかもしれません。

では、Laravel 開発者にとって、Laravel にはまださらなるサプライズがあるのでしょうか? それとも、PHP 開発者をサポートする手段をすべて使い果たしたのでしょうか?

少なくとも、Laravel 10 には多くの機能があることはわかっています。 この記事では、Laravel 10 の新機能、修正、新しく非推奨になったメソッドとパッケージを紹介します。

Laravelのリリーススケジュール

Laravel コア チームは、年に 2 つのメジャー バージョンをリリースしていました。

ただし、リリース サイクルは、Laravel の作成者である Taylor Otwell が毎年 1 つのメジャー バージョンをリリースすると発表したときに変更されました。 これにより、コア チームとコミュニティは、フレームワークの特定のバージョンにより多くの時間と労力を費やし、重大な変更を加えることなく新しい強力な機能を導入することができました。

2022 年 2 月 8 日にリリースされた Laravel 9 では、予想されるリリース スケジュールは次のとおりです。

  • Laravel 10 : 2023 年 2 月 7 日
  • Laravel 11 : 2024 年 2 月 6 日

また、サポートポリシーによると、すべての Laravel バージョンに対して、バグ修正が 18 か月間、セキュリティ更新プログラムが 2 年間提供されます。

予想されるバグ修正とセキュリティ更新プログラムのスケジュールは次のとおりです。

  • Laravel 9 では、2023 年 8 月 8 日までバグ修正が、2024 年 2 月 6 日までセキュリティ修正が引き続き提供されます。
  • Laravel 10 では、2024 年 8 月 6 日までバグ修正が、2025 年 2 月 4 日までセキュリティ修正が提供されます。
  • Laravel 11 のバグ修正は 2025 年 8 月 4 日まで、セキュリティ修正は 2026 年 2 月 2 日までの予定です。

Laravel 10 にアップグレードする必要がありますか?

新しいバージョンがリリースされたらすぐにアプリケーションの Laravel バージョンを最新バージョンにアップグレードする必要があるとは限らないことを覚えておくことが重要です。

Laravel はオープンソースのフレームワークです。これは、マシンに新しい Laravel インスタンスをインストールするたびに、フレームワークのコードベースを所有することを意味します。 これは、アプリが使用しているフレームワークのバージョンがサポートされなくなった場合でも、アプリは引き続き機能することを意味します。 自分たちで維持するしかありません。

そのため、フレームワークのアップグレードよりもアプリケーションの安定性を優先することが広く推奨されています。

つまり、次の場合に Laravel 10 へのアップグレードを検討する必要があります。

  • アプリケーションは現在のバージョンで安定しており、問題なく機能しています。
  • 新しいバージョンは、アプリケーションに必要な機能を追加するか、アプリケーションで発生している問題を修正します。
  • アップグレードの変更が本番環境にプッシュされる前に、アプリケーションは十分にテストされます。

Laravel 10 ホットアップデート

Laravel 10 ロゴ
Laravel 10 ロゴのイメージ。

ご存じのとおり、Laravel 10 はまだリリースされていません。 ただし、この記事は、予想されるリリースに関するすべての最新情報で更新され続けます。 したがって、このページをブックマークして、時々再訪することをお勧めします。

Laravel 10 の新機能とアップデート

新しいリリースの最もエキサイティングな部分は、新機能の追加であることは間違いありません。 それでは早速、Laravel 10 の新機能とアップデートについて見ていきましょう。

1. PHP 8.1: Laravel 10 の心臓部

PHP 8.1 は、Laravel 10 で最低限必要な PHP バージョンです。Laravel 9 ブランチと GitHub のフレームワークのマスター ブランチとの比較に基づいて、 readonlyプロパティやarray_is_listなど、いくつかの PHP 8.1 機能が Laravel 10 で導入される予定です。 .

2. PHP 8.2 のサポート

PHP 8.2 は、Laravel 10 リリース日のわずか 2 か月前の 2022 年 12 月 8 日にリリースされました。 それでも、これで PHP 8.2 の機能を利用できなくなるわけではありません。追加の操作をしなくても、Laravel 10 は PHP 8.2 の準備が整っているからです。

実際、Forge、Vapor、Envoyer を含む Laravel エコシステム全体が PHP 8.2 をサポートしており、Laravel 9 で PHP 8.2 を使用することもできます。

3. Laravel スターターキットのアップグレード

Laravel Breeze と Jetstream は、Laravel 10 がリリースされればすぐに使用できます。 さらに、それらはすでに Inertiajs 1 にアップグレードされており、JetStream が完全なダークモードをサポートするという驚きがあります。

4.Predisのバージョンアップ

Predis は、キャッシュを最大限に活用して素晴らしいユーザー エクスペリエンスを提供するのに役立つ、PHP 用の堅牢な Redis クライアントです。 Laravel は以前はバージョン 1 と 2 の両方をサポートしていましたが、Laravel 10 の時点で、フレームワークは Predis 1 をサポートしなくなりました。

Laravel のドキュメントでは、Redis と対話するためのパッケージとして Predis について言及されていますが、公式の PHP 拡張機能を使用することもできます。 この拡張機能は、Redis サーバーと通信するための API を提供します。

5. ネイティブ型宣言

Laravel は、スケルトン コードで DocBlocks を利用して、コードの一部が何を行い、どのような種類のパラメーターや応答が期待されるかを明確にしていました。 しかし、Laravel 10 のネイティブ型宣言のおかげで、これは変わります。

この変更を説明する最良の方法は、簡単な例を使用することです。 次のような関数の代わりに:

 /** * Determine whether the user can create models. * * @param \{{ namespacedUserModel }} $user * @return \Illuminate\Auth\Access\Response|bool */ public function create({{ user }} $user) { // }

…代わりに次のようになります。

 /** * Determine whether the user can create models. */ public function create({{ user }} $user): bool { // }

IDE は予想されるパラメーターと応答の形状を認識できるため、この変更は純粋に開発者のエクスペリエンスを向上させるためのものです。 PHP ネイティブ型では不可能な場合に、より明確な型を提供します。 したがって、コード エディターがオートコンプリート機能を使用してパフォーマンスを向上させるのに役立ちます。

6. デフォルトで起動可能なすべての検証ルール

Laravel 9 で呼び出し可能な検証ルールを作成する場合、artisan コマンドの後に--invokableフラグを追加する必要があります。 すべての Laravel 10 ルールはデフォルトで呼び出し可能であるため、これは不要になりました。 したがって、次のコマンドを実行して、Laravel 10 で新しい呼び出し可能なルールを作成できます。

 php artisan make:rule CustomRule

7. ネイティブの列変更のサポート

change()を使用して列を変更する際のdoctrine/dbalパッケージの必要性をなくす試みとして、Laravel 10 に新しい機能が追加されました。この機能により、開発者はchange()メソッドを使用して、MySQL、PostgreSQL、および追加のパッケージを必要としない SQL Server。 これは重大でリスクの高い重大な変更ですが、追加パッケージの必要性がなくなるため、価値があると考えています。

新しい機能をよりよく理解するには、次の例を参照してください。

 $table->integer('user_balance')->unsigned()->default(0)->comment('balance'); // `user_balance` is an integer, unsigned, defaults to '0', and column comment is 'balance'

ここで、 user_balanceの列があり、その型を変更したいとします。 Laravel 10 以降では、次のように簡単に実行できます。

 $table->bigInteger('user_balance')->change(); // This will change `user_balance` to bigInteger instead of just integer

上記のコードは、列の型を正常に変更しますが、 UNSIGNEDDEFAULT 、およびCOMMENT属性も削除します。 したがって、列のタイプを変更するときは、すべての属性を追加することを覚えておくことが重要です。

 $table->bigInteger('user_balance')->unsigned()->default(0)->comment('balance')->change();

複数のデータベース接続があり、すでにdoctrine/dbalをインストールしている場合は、 App\Providers\AppServiceProviderbootメソッド内でSchema::useNativeSchemaOperationsIfPossible()メソッドを呼び出して、ネイティブ スキーマ操作を使用できるようにし、パッケージに依存する前のネイティブ操作 (たとえば、SQLite はまだこれをサポートしていません):

 use IlluminateSupportFacadesSchema; class AppServiceProvider extends ServiceProvider { public function boot() { Schema::useNativeSchemaOperationsIfPossible(); } }

8. 列タイプのネイティブ取得

Laravel 10 のもう 1 つの注目すべき機能は、 doctrine/dbalパッケージに依存せずにSchema::getColumnTypeメソッドを使用できることです。 現在、列タイプを取得するためにSchema::getColumnTypedoctrine/dbalと共に使用しています。 doctrine/dbalは、すべてのネイティブの列タイプを対応するdoctrine/dbalタイプにマップしますが、さまざまなデータベースで Laravel が使用する多くの列タイプをサポートしていません。

一方、Laravel 10 では、新しいSchema::getColumnTypeメソッドは、 doctrine/dbalに相当するものではなく、実際の列の型を返します。 また、新しいネイティブ列変更機能の統合テストを作成することもできます。 この機能を使用して、指定した列のデータ型名または型定義全体を取得できます。

 Schema::getColumnType('products', 'price'); // decimal

9. ハッシュアルゴリズムの高速化

xxHash は、信じられないほど高速なハッシュ アルゴリズムです。 優れた出力のランダム性と分散、および衝突を減らす独自性を備えています。 PHP 8.1 は xxh128 のサポートを提供し、Laravel 10 は PHP 8.1 上で実行されるため、Laravel 10 内にこのような信頼できるハッシュ アルゴリズムを用意することは理想的です。

Taylor がこの変更のレビュー中に、一部のサードパーティ パッケージは、Laravel がハッシュに使用していたアルゴリズムである SHA-1 ハッシュとまったく同じ形式のファイル名に依存している可能性があることを強調したことに言及する価値があります。 したがって、Laravel 10 へのアップグレードを計画している場合は、アプリで使用しているサードパーティ パッケージでこれを再確認することをお勧めします。

10.Eloquent BuilderのwhereExists()メソッドのサポート

現在、 whereExists()を使用するには、クロージャーを使用してネストされたクエリを構成する必要があります。 幸いなことに、Laravel 10 では、ネストされたクエリとして Eloquent Builder を含めることができるようになりました。 これにより、カスタム ビルダー メソッド、モデル スコープなどを使用できるようになります。

たとえば、 whereExists()を使用したい場合は、通常これを行います。

 Order::whereExists(function ($query) { $query->from('products')->whereColumn('products.order_id', 'orders.id'); });

Laravel 10 では、代わりにこれを行うことができます。

 Order::whereExists( Product::whereColumn('products.order_id', 'orders.id') );

11.イーガーローディングの最適化

Laravel 10 の興味深い新機能の 1 つは、ロードするキーがない場合の熱心なロードの最適化です。 この変更は、機能というよりも修正に近いものです。リレーションの熱心な読み込みによって多数の不可能なクエリが実行されるという現在の問題に対処するためです。

現在、ロードするキーを持たないリレーションを熱心にロードする場合、Laravel はこのselect \* from `table_name` where 0 = 1のようなクエリを実行します。 ただし、新しい Laravel 10 アップデートでは、最初に利用可能なキーがあるかどうかを確認し、ない場合は空のコレクションを提供するため、不要なデータベース クエリが不要になります。

Laravel 10 で廃止されたメソッドとパッケージ

Laravel 10 は PHP 8.0 に別れを告げます

Laravel フレームワークは、Laravel 10 で PHP 8.0 のサポートを終了します。したがって、アプリを Laravel 10 にアップグレードする予定がある場合は、最初に PHP バージョンを PHP 8.1 または PHP 8.2 に更新する必要があります。

非推奨のメソッドの削除

Laravel コア チームが Laravel 10 ブランチから Laravel 9 の非推奨メソッドを削除していることがわかります。 Laravel 10 がリリースされ次第、チームはドキュメントのアップグレード ガイドを更新して、廃止されたすべてのメソッドとパッケージを含めると予測しています。

現在のプロジェクトを Laravel 10 に移行する場合は、非推奨のメソッドを使用するコードを新しいアプローチで書き直して、同じ結果を得る必要があります。

以下は、Laravel 9 と master ブランチを比較して見つけたすべての非推奨と削除のリストです。

  • Route::homeメソッド (Laravel 9 で非推奨)
  • dispatchNowに関する非推奨の関数とメソッド。 これは、開発者が、すぐにディスパッチする唯一のサポートされている方法であるdispatchSyncを使用することを奨励するためです。
  • getBaseQueryに相当するものがあるため、 toBase
  • 使用されなくなったMaintenanceModeExceptionクラス
  • MocksApplicationServicesトレイト
  • メールフェイクのMail::failuresメソッド
  • 非推奨の$datesプロパティ。代わりに$castsを使用することをお勧めします
  • assertTimesSent()メソッド
  • Predis 1 およびdoctrine/dbal 2 のサポートを終了
  • Laravel がバージョン 2 のサポートを終了して以来、 doctrine/dbalで関連するすべての廃止予定

Laravel 10 のインストール方法

Laravel 10 はすでに利用可能で、実際に乗ってその機能をテストすることができます。 Laravel インストーラーの–devフラグは、 laravel/laravelリポジトリーから master ブランチをインストールします。 端末で次のコマンドを実行するだけです。

 laravel new example-kinsta-app --dev

または、Composer を使用したい場合:

 composer create-project --prefer-dist laravel/laravel example-kinsta-app dev-master

Composer コマンドをよりよく理解するために、簡単な説明を次に示します。

  • laravel/laravel : Laravel インストール用のパッケージ
  • example-kinsta-app : 新しいプロジェクトの新しいディレクトリ (変更可能)
  • dev-master : Laravel の次のバージョン (この場合は Laravel 10)

Laravel 10 をインストールした後、新しいディレクトリexample-kinsta-appに移動し、artisan コマンドを実行してバージョンを確認できます。

 $ php artisan --version Laravel Framework 10.x-dev

プロジェクトを Laravel 10 にアップグレードする方法

Laravel 10 にアップグレードしたくなりましたか? Laravel コアチームはドキュメント作成に懸命に取り組んでおり、可能なすべての重大な変更をカバーしながら、シームレスでわかりやすいアップグレードガイドを提供しています。 アップグレード プロセスに関する情報がいくつか公開されているので、Laravel 10 アップグレード ガイドを確認してください。

Laravel 10 がリリースされたら、Laravel Shift にも注目してください。 Laravel バージョンをアップグレードするためのシンプルで自動化されたアプローチを提供します。

LaravelのドキュメントとLaravel Shiftに加えて、Kinstaでは、実際の例を含む包括的なアップグレードガイドを公開します. そのため、このページをブックマークして、Laravel 10 がリリースされたら戻ってくることを忘れないでください。

Laravel 10 プロジェクトをデプロイする方法

Laravel 10 のデプロイは、Laravel 9 プロジェクトのデプロイとそれほど変わらないはずです。 サーバー要件は次のようになると予想されます。

  • PHP >= 8.1
  • BCMath PHP 拡張機能
  • Ctype PHP 拡張機能
  • cURL PHP 拡張機能
  • DOM PHP 拡張機能
  • Fileinfo PHP 拡張機能
  • JSON PHP 拡張機能
  • Mbstring PHP 拡張機能
  • OpenSSL PHP 拡張機能
  • PCRE PHP 拡張機能
  • PDO PHP 拡張機能
  • トークナイザー PHP 拡張機能
  • XML PHP 拡張機能

Laravel はホストされたアプリのサポートされているフレームワークの長いリストの 1 つであるため、Kinsta で Laravel 10 プロジェクトを数分でデプロイしてホストすることができます。

KinstaにLaravel 10をデプロイする: ステップバイステップガイド

Kinstaでアプリケーションをホスティングおよびデプロイすることには、デプロイ構成に煩わされる必要がないなど、いくつかの利点があります。

Kinsta は、アプリケーションのデプロイ、データベースへの接続、およびライブ パフォーマンスの監視のための、使いやすく強力なツールを提供します。 このツールは MyKinsta として知られています。このセクションでは、それを使用して Laravel 10 アプリケーションをデプロイする手順を説明します。

1. Laravel 10 アプリケーション

Laravel 10 アプリケーションのホームページ
KinstaにデプロイされたLaravel 10アプリケーションのホームページ。

Laravel 10 アプリケーションがローカルにあると仮定すると、github リポジトリが利用可能であることを確認する必要があります。 このリポジトリを使用して、後でアプリケーションをデプロイします。

以下を含むアプリケーションのルート ディレクトリに.htaccessファイルを含めることができます。

 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>

Laravel の場合、これによりすべてのリクエストが public/index.php にリダイレクトされます。 ただし、必要に応じて、アプリケーションの追加中 (プロセスのセットアップ手順)、またはアプリケーションの[プロセス] ページでのデプロイ後に、このコマンドを更新できます。 以下を使用できます。

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080

2.MyKinstaにログイン

MyKinstaログインページ
MyKinstaログインページのスクリーンショット。

MyKinstaのログインページに行き、メールアドレスとパスワードを入力してください。 まだアカウントをお持ちでない場合は、新しいアカウントを登録して、価格プランのサブスクリプションの最初の月から $20 割引を受けることができます。

3. GitHubでKinstaを承認する

ログインすると、ダッシュボードに WordPress サイトの作成、アプリケーションの作成、またはデータベースの作成の 3 つのオプションがあることがわかります。 Connect GitHubボタンを押して、GitHub と統合します。

MyKinsta ダッシュボード
MyKinsta ダッシュボードのスクリーンショット。

次に、[ GitHub で続行] ボタンをクリックします。 GitHub にまだログインしていない場合は、ログインするオプションが表示されます。その後、Kinsta を承認する を選択して、Kinsta GitHub アプリケーションが GitHub アカウントにアクセスすることを承認できます。

最後に、アプリケーションのセットアップを続行するために、GitHub がブラウザを MyKinsta にリダイレクトします。

MyKinstaをGitHubに接続する
MyKinsta を GitHub に接続するためのスクリーンショット。

GitHub に接続すると、GitHub リポジトリを選択するためのドロップダウン メニューがある [アプリケーションの追加] ポップアップ/モーダルが表示されます。 [ GitHub リポジトリ] フィールドをクリックし、ドロップダウンで [ GitHub アクセス許可の編集] を選択します。

MyKinstaへのアプリケーションの追加
アプリケーションを MyKinsta に追加するためのスクリーンショット。

これにより、ブラウザに新しいタブが開き、Kinstaがアクセスできるデータを選択できるGitHub Webページが表示されます. すべてのリポジトリへのアクセスを有効にする代わりに、Kinsta に使用させたいリポジトリのみを選択することを検討してください。 Only select repositoriesをクリックし、デプロイするリポジトリを選択します。

GitHub に MyKinsta をインストールする
GitHub に MyKinsta をインストールするためのスクリーンショット。

次に、[インストール] をクリックすると、準備完了です。

MyKinsta に戻ってGitHub リポジトリフィールドをクリックすると、承認されたリポジトリが表示されます。 さらに、コミット時に自動展開チェックボックスをオンにして、GitHub リポジトリに変更を加えるとすぐに MyKinsta の機能がアプリケーションを自動展開できるようにすることもできます。

MyKinsta のリポジトリ ブランチの選択
MyKinsta のリポジトリ ブランチを選択するためのスクリーンショット。

4. アプリケーションの基本的な詳細を追加する

ダッシュボードでのみ使用される名前をアプリケーションに付けて、25 か所のデータ センターの場所から選択できるようになりました。これにより、ユーザーに最も近い地理的な場所にアプリケーションを配置できます。 アプリケーションに最適なデータセンターを決定する際にサポートが必要な場合は、適切なデータセンターの場所を選択するためのガイドをご覧ください。

アプリケーションの基本的な詳細を追加する
アプリケーションの基本的な詳細を追加するためのスクリーンショット。

5. 環境変数を追加する

次のセクションは環境変数を追加するためのもので、最も重要な変数はAPP_KEYです。

.envファイルにまだキーがない場合は、オンラインの Laravel キー ジェネレーターを使用して生成できます。 次に、 APP_KEYKey 1フィールドに挿入し、生成されたアプリ キーをValue 1フィールドに挿入します。

最後に、 Available during runtimeAvailable during build processを選択します。

環境変数を MyKinsta アプリケーションに追加する
環境変数を MyKinsta アプリケーションに追加するためのスクリーンショット。

5. ビルド環境の構成

ここでの魔法のことは、何も設定する必要がないということです! [続行] ボタンをクリックして先に進むことができます。 ビルド環境の構成が完了しました。 ただし、ビルド リソースを強化してビルドを高速化する場合は、[ビルド リソース]フィールドから優先する選択肢を選択できます。

ビルド パスフィールドはオプションです。空のままにしておくと、MyKinsta はルート フォルダーを使用します。

MyKinsta アプリケーションのビルド環境
アプリケーションのビルド環境を構成します。

6. プロセスと支払い方法を設定する

[リソース] セクションで、各フィールドに次の情報を入力します。

  • プロセス名:アプリケーションのプロセスのリストに表示される名前。
  • 処理タイプ:一度設定すると変更できないため、慎重に選択してください。 ただし、デプロイ後にアプリケーションの[プロセス]ページで、バックグラウンド ジョブなどの追加のプロセスを追加および変更できます。
  • 開始コマンド:プロセスの「開始」コマンド (必須ではありません)。
  • ポッドのサイズ:プロセスに必要と予想されるポッドの容量。
  • インスタンス数:プロセスのインスタンス数 (最大 50)。

Kinsta は最初の展開時に必要なコマンドを自動的に検出するため、 [開始コマンド]フィールドに入力せずに [続行] をクリックするだけでよいことに注意してください。

MyKinsta アプリのセットアップ手順
アプリケーションのプロセスを設定するためのスクリーンショット。

最後のステップとして、アプリで計算された毎月の使用料金を確認し、支払い方法を確認します。 完了したら、[支払い方法の確認] ボタンをクリックします。

MyKinstaの支払い詳細の確認
支払いの詳細を確認するためのスクリーンショット。

そして、あなたは完了です! Kinsta はバックグラウンドですべての作業を行い、アプリケーションを提供します。

アプリケーションのデプロイ プロセスを読み込んでいます
アプリケーションの展開プロセスを読み込むためのスクリーンショット。

その後、デプロイ プロセスのすべての詳細と一時的なライブ アプリの URL にアクセスできるようになります。この URL は、後で独自のドメインに置き換えることができます。

アプリケーションのデプロイの成功
MyKinsta での Laravel10 アプリケーションのデプロイに成功しました。

Laravel 10 アプリケーションは現在 Kinsta で公開されていますが、本番環境に変更が必要な場合はどうすればよいでしょうか? アンカー タグのhref属性を変更したい場合はどうすればよいでしょうか。 コミット時の自動展開機能を有効にしているため、MyKinsta は展開されたブランチに加えた変更を検出し、それに応じてライブアプリを自動的に更新します。

7. Laravel 10 を MySQL データベースに接続する

Laravel 10 アプリケーションをデプロイしたので、簡単にデータベースを構築してアプリケーションにリンクできます。 左側のナビゲーション メニューから [ Applications ] をクリックし、[ Add Service ] をクリックして [ Database ] を選択するだけです。

MyKinstaへの新しいデータベースの追加
MyKinstaに新しいデータベースを追加するためのスクリーンショット。

すべてのフィールドに入力したら、[データベースの作成] をクリックします。 これにより、内部および外部接続の準備が整った新しいデータベースが確立されます。 このシナリオでは、デプロイした Laravel 10 プロジェクトへの内部接続が必要です。

これを実現するには、[内部接続] セクションで [アプリケーションの追加] をクリックし、アプリケーションを選択するだけです。 環境変数をアプリケーションに追加するチェックボックスをオンにすると、MyKinsta がアプリケーションに必要なすべての.env変数を入力します。

データベースを Laravel 10 アプリに接続する
データベースを Laravel 10 アプリケーションに接続するためのスクリーンショット。

それだけで、Laravel 10 アプリケーションがデプロイされ、データベースに接続されます。

Laravel 10 に貢献する方法

Laravel はコア チームによって維持されていますが、3,000 人を超えるボランティアの貢献者によって積極的に開発されています。

それらの貢献者の 1 人になり、Laravel の未来を形作る手助けをしたいですか? はいと答えた場合、新しい機能を追加したり、バグを修正したり、ドキュメントの紛らわしい部分を書き直したりすることで、世界中の開発者を助けることができます。

Laravel 10 に貢献するには、次のことを行う必要があります。

  1. Laravel の GitHub リポジトリに移動し、タイトルに[10.x]のタグが付いたプル リクエストを確認してください。 これにより、Laravel 10 のすべてのプル リクエストを明確に把握できます。PR の 1 つがあなたが意図した貢献に対応している場合は、それを改善できるかどうかを確認してください。
  2. あなたの計画した貢献がまだ他の誰かによって対処されていない場合は、自分で PR を作成することができます。
  3. すべてをフレームワークのコードベースに追加する価値があるわけではありません。 そのため、将来の保守が容易で、Laravel コミュニティの大部分に役立つ改善のみを実装するように努めてください。
  4. 変更をフレームワークにマージする可能性を高めるために、Laravel のコントリビューション ガイドラインを遵守してください。

Laravel 10 が愛されるもう 1 つの理由は、バグ ハントへの貢献に対して賞金を獲得できることです。 次にそれらを見ていきます。

Laravel 10バグハントコンテスト

Laravel 10 バグハントコンテスト
Laravel 10 バグハントコンテスト。

Laravel 10 は、ランダムな貢献者が $1,000 を獲得するチャンスがある素晴らしいコンテストを発表しました。

これは、Laravel の歴史の中で初めてのコンテストです。 コミュニティが Laravel 10 の隠れたバグを見つけてパッチを当てることを奨励するために設計されました。

ルールは簡単です。

  • laravel/frameworkリポジトリの10.xブランチに提出された PR のみが対象となります。
  • 「本物の」バグ修正のみが考慮されます。 新機能、リファクタリング、タイプミスの修正は考慮されていません。
  • すべてのバグ修正は、テストによってサポートされる必要があります。
  • 承認されたバグ修正は GitHub でラベル付けされ、コンテストの最後にランダムな勝者が発表されます。

コンテストは、Laravel 10 の最初の安定版がリリースされた時点で終了します。 その時点までに保留中または Laravel 10 のリリース後に送信されたプル リクエストは対象外となります。

概要

この記事はそれだけではありません。 発売日までにさらに変更があります。 しかし当分の間、Laravel 10 は非常に有望であるように思われ、それが PHP の世界にもたらすすべての贈り物を取り上げることに興奮しています。

それまでの間、Laravel アプリのパフォーマンスを改善する方法をさらに探している場合は、プレミアム ホスティング プロバイダーへの切り替えを検討してください。 Kinsta のアプリケーション ホスティング ソリューションは、業界で最も速く、最も安全で、使いやすく、開発者を念頭に置いて特別に設計されており、当社の経験豊富な開発者による生産の合理化と 24 時間年中無休の専門家によるサポートを提供します。