Laravel 7 の正式リリース日は 2020 年 3 月 3 日です。 Laravel Frameworkのlaravelメジャーバージョンリリースポリシーによると、6か月ごと(2月と8月)に、これは別のメジャーバージョンになります。これはLTSリリースではないため、Laravelリリースサポートポリシーによれば、2020年9月3日まで6か月のバグ修正サポート、2021年3月3日まで1年間のセキュリティ問題修正サポートが提供されます。 Laravel 7 の新機能と改善点を見てみましょう。 (laravel 技術記事)
Laravel 7 の新機能
● Laravel Airlock
● HTTP クライアント用 Zttp
#CORS サポート
##● カスタム Eloquent Cast##● スムーズな文字列操作
##● ブレード X#● カスタマイズ可能なスタブ
● クエリ時間の変換
##● 複数のメールドライバー 新しいアーティザンコマンド Laravel 7 の改善点
#???ルーティングモデルバインディング改善点
#● 2 倍高速なルーティング##● データベース キューの改善
##● マークダウン電子メール テンプレートの改善##● その他のバグ修正と改善。
Laravel Airlock
Laravel Airlock は API 認証用の公式パッケージです。シンプルなトークンベースの API 認証、トークン発行、トークン機能、モバイル アプリ認証などを提供します。
Zttp (HTTP クライアント用)
Zttp を使用して、API に対して HTTP リクエストを行う方が、より適切で簡潔なアプローチになります。
リクエストを投稿
'Laravel Article', ]);
レスポンスを取得
$response = Http::get($url); $response = Http::get($url,['foo'=>'bar']);
$response = Http::withHeaders(['foo' => 'bar'])->post($url, [ 'baz' => 'qux', ]);
レスポンス
$response['foo'] $response->body() $response->json() $response->status() $response->ok()
CORS サポート
Laravel 7 は、すぐに CORS (Cross-Origin Resource Sharing) をサポートするようになりました。すべての開発者が API 開発で CORS の問題に遭遇したことがあるということをよく理解する必要があります。 Laravel 7 は、設定値を使用して OPTION リクエストに自動的に応答するようになりました。 Laravel 7 には、すべてを実行する HandleCors ミドルウェアがすぐに付属しています。
Custom Eloquent CastLaravel 7 のカスタム eloquent キャストは、もう 1 つの優れた機能です。この機能を使用すると、カスタム キャストを追加できるようになります。 JSON Caster を見てみましょう。
Json::class, ]; }
Laravel 7 では、Illuminate\Support\Str クラスを使用して、よりクールなオブジェクト指向のことを行うことができます。
$currentVersion = (string) Str::of(' Laravel 6.x '); return $currentVersion->trim() ->replace('6.x', '7.x') ->slug(); // laravel-7x
Laravel 7 Blade X の機能を使用すると、クラスレスコンポーネントを作成できます。
X コンポーネントの生成
@php($user = $user ?? Auth::user()) @php($size = $size ?? 50)
Blade x の使用法
カスタム スタブで Artisan コマンドを使用できるようになりましたLaravel 7.xでは。
php artisan stub:publish
Laravel 7 は、クエリの実行中に値をキャストするのに役立つ withCasts メソッドを提供します。例を挙げてみましょう。
$users = User::select([ 'users.*', 'last_posted_at' => Post::selectRaw('MAX(created_at)')->whereColumn('user_id', 'users.id') ]) ->withCasts(['last_posted_at' => 'date']) ->get();
Laravel 7 では、単一のアプリケーションを使用して複数のメールドライバーをセットアップできます。
Mail::mailer('noreply') ->to($request->user()) ->send(new PostUpdated($post));
新しいアーティザン コマンド
新しいアーティザン テスト コマンドが Laravel 7 に追加されました。新しいアルティザン テスト コマンドは、美しい UX とテストに関する役立つ情報を提供します。
php artisan test
● ルーティング モデル バインディングの改善
#● 2 倍高速なルーティング#● データベース キューの改善# マークダウン電子メール テンプレートの改善
##● その他のバグ修正と改善。ルート モデル バインディングの改善
カスタム キー デフォルトでは、ルート モデル バインディングは id フィールドとともに使用されます。これでカスタマイズできるようになりました。Route::get('posts/{post:slug}', function (App\Post $post) { return $post; });
use App\Post; use App\User; Route::get('api/users/{user}/posts/{post:slug}', function (User $user, Post $post) { return $post; });