[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();
詳しい変更については以下を確認してください。