[Laravel] 7.6.0がリリースされました

laravel/frameworkのバージョン7.6.0がリリースされました。追加された機能について確認します。

Collection::until()メソッドが追加されました (#32262)

filter()メソッドと似ていますが、条件に一致した時点の一つ前までの新しいコレクションが返されます。

また。引数にはコールバックを渡すこともできます。

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

// Using until
$passed = $primes->until(11)->dump();

HtmlString::isEmpty()メソッドが追加されました (#32289, #32300)

.クラス内の文字列が空 ('') なことを判定します。

Stringable::isNotEmpty()メソッドが追加されました (#32293)

.クラス内の文字列が空では無いことを判定します。

Stringableクラスにltrim()rtrim()メソッドが追加されました (#32288)

Routeクラスで特定のミドルウェアをスキップできるようになりました (#32347, @412261c)

ルーティング時に実行しないミドルウェアを登録できます。

Route::get('/something')->excludedMiddleware(VerifyCsrfToken::class)
Route::get('/teams/create')->excludedMiddleware(VerifyUserHasTeam::class)

Illuminate\Http\Client\Response::object()メソッドが追加されました (#32341)

レスポンスにオブジェクト形式でアクセス可能になります。

// Current magic way - uses ->json() under the hood
$response = Http::get('some-api.wip');
$response['result'];

// Or with json()
$response = Http::get('some-api.wip')->json();
$response['result'];

// New option
$response = Http::get('some-api.wip')->object();
$response->result;

Bladeコンポーネントにエイリアス名を指定可能になりました (#32346)

Illuminate\Database\Eloquent\Collection::append()メソッドが追加されました (#32324)

コレクション全体に特定の属性を追加することができます。

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

// After
$collection->append($attribute);

ピボットテーブルに対してbetweenが指定可能なメソッドが追加されました (#32364)

下記メソッドで指定可能です。

  • wherePivotBetween
  • orWherePivotBetween
  • wherePivotNotBetween
  • orWherePivotNotBetween

キューのリスナーにretryAfter()メソッドが追加されました (#32370)

retryAfterはプロパティレベルの宣言しか行っていませんでしたが、メソッドレベルのサポートが追加されました。

メソッドで指定する場合は下記のように行います。

public function retryAfter()
{
    // custom logic
}

新しい形式のComposer installed.jsonがサポートされました (#32310)

データベースカラムの型変更にuuidが追加されました (#32316)

PostgreSQLでbytea型がサポートされました (#32319)


詳しい変更については以下を確認してください。

Release v7.6.0 · laravel/framework · GitHub

© Xzxzyzyz