bltr
@bltr
Любитель

Зачем нужен helper tap()?

В Laravel есть такой хелпер:
function tap($value, $callback = null)
    {
        if (is_null($callback)) {
            return new HigherOrderTapProxy($value);
        }

        $callback($value);

        return $value;
    }

который активно используется в самом Laravel. Например рассмотрим Illuminate\Session\Middleware\StartSession::getSession.
public function getSession(Request $request)
{
    return tap($this->manager->driver(), function ($session) use ($request) {
        $session->setId($request->cookies->get($session->getName()));
    });
}

Что эквивалентно
public function getSession(Request $request)
{
    $session = $this->manager->driver();
    $session->setId($request->cookies->get($session->getName()));

    return $session;
}

В чем выгода tap() в этом примере?
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
JhaoDa
@JhaoDa
LaravelRUS Team
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы