Как я могу получить доступ к объекту ответа Laravel из контроллера? - PullRequest
1 голос
/ 20 апреля 2019

У меня есть промежуточное ПО, где я назначаю http заголовки для запроса / ответа.

$response = $next($request)->header('x-robots-tag', 'noindex', false);

В промежуточном программном обеспечении я также могу применить эту строку после выполнения вышеупомянутого, чтобы получить значение, которое я только что установил...

echo $response->headers->get('x-robots-tag');

Но я хочу получить доступ к этому вне промежуточного программного обеспечения, но я не уверен, как вернуть объект Response для достижения этой цели.

Как я могу получить$ response объект из моего контроллера?

$response = \WHAT\GOES\HERE?;
echo $response->headers->get('x-robots-tag');

Кажется, я не могу понять, что положить в часть \ WHAT \ GOES \ HERE снова получите доступ к объекту ответа.

Обновление № 1:


Все еще не решена, но часть проблемы заключается в том, чтобы добавить теги заголовка к объекту Response в промежуточном программном обеспечении.требует $next($request), и $ next Closure вызывает обработку ответа после выполнения кода контроллера.Поэтому, хотя я не уверен, как нацелить объект Response изнутри контроллера, не похоже, что в любом случае ему будет назначен тег заголовка до тех пор, пока потом.

Я мог бы установить заголовки непосредственно в PHPв промежуточном программном обеспечении с

public function handle($request, Closure $next /*, $tags */)
{
    $tags = array_except(func_get_args(), [0,1]);
    if( count($tags) > 0){
        header('x-robots-tag: ' . implode(', ', $tags));
    }
    return  $next($request);
}

, а затем получить к нему доступ в контроллере, вытащив его из headers_list(), но это не идеально и работает за пределами путей Laravel ...

ДляВ этом контексте идея заключалась в том, чтобы назначить промежуточное программное обеспечение для маршрутов и с помощью промежуточного программного обеспечения назначить заголовок ответа x-robots-tag с требуемыми атрибутами.noindex, nofollow, что угодно ... Тогда я надеялся захватить это и заполнить эквивалентные метатеги соответственно, используя данные, предоставленные x-robots-tag.Подход двух птиц с одним каменным подходом, но это оказалось сложнее, чем я ожидал.

...