ホームページ  >  記事  >  PHPフレームワーク  >  Laravel7.6がリリースされました! ! !

Laravel7.6がリリースされました! ! !

藏色散人
藏色散人転載
2020-04-21 13:11:513392ブラウズ

Laravel チームは昨日 v7.6.0 をリリースしました。これには 13 の新機能と 7.x ブランチの最新の修正と変更が含まれています:

#コレクションに「until」メソッドを追加しました

Jason McCreary は、

Collection::until() メソッドを提供しました。このメソッドは、要素が条件を満たすまでコレクションをループし、要素を返すことができます。

// Before
[$before, $after] = $primes->partition(function ($item) {
    return $item < 11;
});
$before->dump();
// Using until
$passed = $primes->until(11)->dump();

This メソッドクロージャまたはコレクションと比較した値を使用します。

String Empty メソッド

Mark van den Broek は、Stringable および HtmlString 用の便利なメソッドをいくつか提供しています。 1 つ目は、

HtmlString::isEmpty() メソッドにより、空のインスタンスの検出が容易になります。

$string = new \Illuminate\Support\HtmlString(&#39;&#39;); 
// Previously
if (empty($string->toHtml()))
// Using isEmpty
if ($string->isEmpty())

2 つ目は、Mark は

isNotEmpty() にも貢献しました。 Method

use Illuminate\Support\Stringable;
(new Stringable())->isNotEmpty(); // false
(new Stringable(&#39;Hello World&#39;))->isNotEmpty(); // true

Stringable クラスの Trim メソッド

Ryan Chandler は、Stringable クラスに ltrim メソッドと rtrim メソッドを提供しました。これにより、文字列の先頭と末尾の文字をトリミングできます。 string:

use Illuminate\Support\Stringable;
echo (new Stringable(&#39; Hello World&#39;))->ltrim(); // &#39;Hello World&#39;
echo (new Stringable(&#39;Hello World &#39;))->rtrim(); // &#39;Hello World&#39;
echo (new Stringable(&#39;/example/&#39;))->rtrim(&#39;/&#39;); // &#39;/example&#39;

特定のルートのミドルウェアを無視する

@dsazup は、ルートを定義するときにミドルウェアをスキップする機能を提供します:

Route::get(&#39;/something&#39;)
    ->skipMiddleware(VerifyCsrfToken::class)
Route::get(&#39;/teams/create&#39;)
    ->skipMiddleware(VerifyUserHasTeam::class)

Http client : JSON 応答をオブジェクトとして取得

Adrian Nürnberger は、JSON 応答本文を連想配列ではなくオブジェクトとして返す

object() メソッドを提供しました:

// Array access
Http::get(&#39;some-api.wip&#39;)[&#39;result&#39;];
// Using json()
$response = Http::get(&#39;some-api.wip&#39;)->json();
$response[&#39;result&#39;]
// New option
$response = Http::get(&#39;some-api.wip&#39;)->object();
$response->result;

コンポーネントのエイリアス

Dries Vints による寄稿 コンポーネントのエイリアスの設定:

コンポーネントのコンテンツを条件付きでレンダリングする必要があるシナリオに遭遇しました。その別名に基づいています。たとえば、Svg コンポーネントがあり、そのコンポーネントのエイリアスとして

71184b1345eda804fca2db664de2b690 を次のように使用する場合:

Blade::component(Svg::class, &#39;heroicon-o-bell&#39;);

This is better than

d83b4d8a88cde115fa706f73a95a53ef この方法はより簡潔です。 Component クラスにエイリアスを追加すると、Blade コンポーネントに多くの新しい用途と可能性が追加されます...

Eloquent コレクション全体に属性を追加

Niels Faurskov が寄稿しました。雄弁なコレクション メソッド append()。特定の属性をコレクションに追加できます。

// Before Laravel 7.6
$collection->each(function($model) {
    $model->append($attribute)
});
// Append method
$collection->append($attribute);

Retry-After メソッドをサポート

@RyanDaDeng はメソッド レベルのサポートに貢献しました。キュー リスナーの retryAfter を補足して、より高度なユースケースに適用します:

// listener implementation
public function retryAfter()
{
    // 自定义 retryAfter 逻辑
}

Support Composer new version selected.json format

Jakub Arbet の新しいバージョンでのスナップショット機能のサポートComposer 2 (まだ安定していません) ですが、composer の古いバージョンとの下位互換性があります:

composer の最新スナップショット バージョンで変更されました

vendor/composer/installed.json 形式なので、破壊されますパッケージを自動検出する機能。この PR は、composer の以前のバージョンとの下位互換性を通じてこの問題に対処します。

UUID は、change をサポートします

Mathieu Tudisco は、uuid 列での

change() メソッドの使用をサポートしています。これより前は、次のエラーが発生していました。発生:

Unknown column type “uuid” requested.

リリース ノート

7.5.0 および 7.6.0 とともに、以下の GitHub で新機能と更新の完全なリストを確認できます](

https://github.com/laravel/framework/compare/v7.5.0...v7.6.0)。 Laravel 7.x の完全なリリースノートは、最新の v7 変更ログ:

v7.6.0

New# にあります。 ##●

Collection::until()

メソッド (#32262)# 追加

HtmlString::isEmpty ()

メソッド (#32289, #32300)

Illuminate\Support\Stringable::isNotEmpty()

メソッド (#32293)

Illuminate\Support\Stringable

新しいクラス ltrim() および rtrim()## を追加しました # Method ( #32288)#● ミドルウェア無視機能を追加 (#32347

412261c

) ● ## を追加#Illuminate\Http\Client\Response::object() メソッド (#32341

)

#● コンポーネント エイリアスの設定のサポート (32346)

#Illuminate\Database\Eloquent\Collection::append()

メソッド (#32324)

を追加しました

# BelongsToMany のピボット列は、新しい「between」ステートメントを追加します (#32364)

● キュー監視は retryAfter() メソッド ( #32370 )

#●● Composer の新しいバージョンのinstalled.json の形式サポートを追加しました (

#32310)

# データベース移行ファイルでの UUID 変更のサポートを追加しました(

#32316)

# postgresql bytea へのリソースの保存を許可 (##32319

)

修正済み

● phpredis の

*scan

メソッドを修正 (#32336)#● Illuminate\Auth\Notifications\ResetPassword::toMail()# を修正## (

#32345

)#● Illuminate\Translation\Translator::__construct() で setLocale (1c6a504

)

を呼び出します。 # Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse() の不要な配列アクセスを防ぐためにマッピングを使用する (#32296)

#●ピボットは変更時にタイムスタンプの更新を防止しません (

#32311)#● Illuminate\Database\Schema\Grammars\MySqlGrammar の CURRENT_TIMESTAMP の精度のバグを修正します (

#32298

)

修正

HtmlString のコンストラクターにより、デフォルト値 (

32290

) が増加します。 )

#BindingResolutionException

を使用してコンテナ解決の問題を示します (#32349)

Illuminate\Validation\Concerns\ValidatesAttributes.php :: validateUrl()

Symfony/Validator 5.0.7 を使用 (#32315)

非推奨 # # ● 非推奨の elixir 関数 (#32366

)

この記事は転載されています:

元のアドレス: https://learnku. com/laravel/t/43480

以上がLaravel7.6がリリースされました! ! !の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。