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

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

PipelineクラスにthenReturn()メソッドが追加されました

Pipelineで処理するオブジェクトに対して、チェインメソッドで続けて処理が記述できるようになりました。

// \Illuminate\Pipeline\Pipeline

/**
 * Run the pipeline and return the result.
 *
 * @return mixed
 */
public function thenReturn()
{
    return $this->then(function ($passable) {
        return $passable;
    });
}

---

$users = app(Pipeline::class)
    ->send(User::query())
    ->through($pipes)
    ->thenReturn()
    ->whereConfirmedEmail()
    ->whereAccountActive()
    ->get();

TaggedCacheクラスにgetTags()メソッドが追加されました

現在キャッシュされているタグの状態(\Illuminate\Cache\TagSet)を取得できます。

ResponseTraitクラスにgetCallback()メソッドが追加されました

JSONPレスポンスを作成する場合にwithCallback()メソッドで指定するコールバックの内容を取得できます。

// \Illuminate\Http\ResponseTrait

/**
 * Get the callback of the response.
 *
 * @return string|null
 */
public function getCallback()
{
    return $this->callback ?? null;
}

laravel/frameworkパッケージのコンポーネント毎にライセンスが追加されました

ModelクラスにwithoutEvents()メソッドが追加されました

以前までのEloquentモデル内で発火される各イベントを無効化するには、処理を行う前後でEventDispatcherの無効・有効を切り替えたり、Event::fake()を使って個別に指定する必要がありましたが、モデル内のイベントの切り替えが容易になりました。

Before:

$dispatcher = User::getEventDispatcher();
User::unsetEventDispatcher();
$user = factory(User::class)->create();
User::setEventDispatcher($dispatcher);

$user->doSomethingWhereEventsShouldFire();

After:

$user = User::withoutEvents(function () {
    return factory(User::class)->create();
});

$user->doSomethingWhereEventsShouldFire();

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

Release v5.7.26 · laravel/framework · GitHub

© Xzxzyzyz