Laravel 7 のリリースが近づいていますが、どのような新機能や機能があるのか​​見てみましょう。

リリース: 2020-03-04 15:47:28
転載
5521 人が閲覧しました

Laravel 7 のリリースが近づいていますが、どのような新機能や機能があるのか​​見てみましょう。

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 リクエストを行う方が、より適切で簡潔なアプローチになります。

リクエストを投稿

<?php
use Illuminate\Support\Facades\Http;
$response = Http::post($url);
$response = Http::post($url, [
    &#39;site&#39; => &#39;Laravel Article&#39;,
]);
ログイン後にコピー

レスポンスを取得

$response = Http::get($url);
$response = Http::get($url,[&#39;foo&#39;=>&#39;bar&#39;]);
ログイン後にコピー
リクエスト ヘッダーあり

$response = Http::withHeaders([&#39;foo&#39; => &#39;bar&#39;])->post($url, [
    &#39;baz&#39; => &#39;qux&#39;,
]);
ログイン後にコピー

レスポンス

$response[&#39;foo&#39;]
$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 Cast

Laravel 7 のカスタム eloquent キャストは、もう 1 つの優れた機能です。この機能を使用すると、カスタム キャストを追加できるようになります。 JSON Caster を見てみましょう。

<?php
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
class Json implements CastsAttributes
{
    public function get($model, $key, $value, $attributes)
    {
        return json_decode($value, true);
    }
    public function set($model, $key, $value, $attributes)
    {
        return json_encode($value);
    }
}
ログイン後にコピー
これで、モデル内でカスタムの eloquent キャストを使用できるようになりました。

<?php
namespace App;
use App\Casts\Json;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
    protected $casts = [
        &#39;extra&#39; => Json::class,
    ];
}
ログイン後にコピー

流動的な文字列操作

Laravel 7 では、Illuminate\Support\Str クラスを使用して、よりクールなオブジェクト指向のことを行うことができます。

$currentVersion = (string) Str::of(&#39;  Laravel 6.x &#39;);
return $currentVersion->trim()
        ->replace(&#39;6.x&#39;, &#39;7.x&#39;)
        ->slug();
// laravel-7x
ログイン後にコピー

Blade X

Laravel 7 Blade X の機能を使用すると、クラスレスコンポーネントを作成できます。

X コンポーネントの生成

@php($user = $user ?? Auth::user())
@php($size = $size ?? 50)
<img
    class="inline-block rounded-full"
    src="{{ $user->gravatarUrl($size) }}"
    width="{{ $size }}"
    height="{{ $size }}"
/>
ログイン後にコピー

Blade x の使用法

<x-avatar/>
<x-avatar size="40" />
<x-avatar size="100" />
ログイン後にコピー

スタブのカスタマイズ

カスタム スタブで Artisan コマンドを使用できるようになりましたLaravel 7.xでは。

php artisan stub:publish
ログイン後にコピー

クエリ時間変換

Laravel 7 は、クエリの実行中に値をキャストするのに役立つ withCasts メソッドを提供します。例を挙げてみましょう。

$users = User::select([
    &#39;users.*&#39;,
    &#39;last_posted_at&#39; => Post::selectRaw(&#39;MAX(created_at)&#39;)->whereColumn(&#39;user_id&#39;, &#39;users.id&#39;)
])
->withCasts([&#39;last_posted_at&#39; => &#39;date&#39;])
->get();
ログイン後にコピー

複数のメールドライバー

Laravel 7 では、単一のアプリケーションを使用して複数のメールドライバーをセットアップできます。

Mail::mailer(&#39;noreply&#39;)
        ->to($request->user())
        ->send(new PostUpdated($post));
ログイン後にコピー

新しいアーティザン コマンド

新しいアーティザン テスト コマンドが Laravel 7 に追加されました。新しいアルティザン テスト コマンドは、美しい UX とテストに関する役立つ情報を提供します。

php artisan test
ログイン後にコピー

Laravel 7 の改善点

● ルーティング モデル バインディングの改善

#● 2 倍高速なルーティング

#● データベース キューの改善# マークダウン電子メール テンプレートの改善

##● その他のバグ修正と改善。

ルート モデル バインディングの改善

カスタム キー

デフォルトでは、ルート モデル バインディングは id フィールドとともに使用されます。これでカスタマイズできるようになりました。

Route::get(&#39;posts/{post:slug}&#39;, function (App\Post $post) {
    return $post;
});
ログイン後にコピー
自動スコープ

Laravel 7は、プログラム内のリレーション呼び出しを識別するための規則を識別するメソッドを使用して、クエリのスコープを自動的に設定し、ネストされたモデルを取得します。

use App\Post;
use App\User;
Route::get(&#39;api/users/{user}/posts/{post:slug}&#39;, function (User $user, Post $post) {
    return $post;
});
ログイン後にコピー

ルーティングが 2 倍高速になります

route:cache を使用すると、Laravel 7 のルート マッチングのパフォーマンスは Laravel 6 よりも 2 倍高速になります#### ##データベースキューの改善#########Laravel 7 では、データベースベースのキューとして MySQL 8 を使用するアプリケーションが改善されています。 #########マークダウン電子メール テンプレートの改善#########電子メールのデフォルトのマークダウン テンプレートは、Tailwind CSS パレットを使用した新しい外観になりました。テンプレートは必要に応じて公開およびカスタマイズできます。 ######プログラミング関連のコンテンツの詳細については、php 中国語 Web サイトの ###プログラミング入門### 列に注目してください。 ###
関連ラベル:
ソース:NiZerin
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!