Я хочу сделать что-то вроде этого:
return Response::view('survey.do')
//->with('theme',$survey->theme);
->header('Cache-Control', 'no-cache, must-revalidate')
->header('Expires', 'Mon, 26 Jul 1997 05:00:00 GMT');
Он говорит, что не может найти определение темы в представлении, проблема в том, когда я делаю:
View::make('survey.do')->with('theme',$survey->theme)
Это работает, но я не могу получить доступ к http response
заголовок, как мне этого добиться?
Вместо того, чтобы использовать with
а также header
передать массивы, как это:
$data = array('theme' => $survey->theme);
$headres = array(
'Cache-Control' => 'no-cache, must-revalidate',
'Expires' => 'Mon, 26 Jul 1997 05:00:00 GMT'
);
return Response::view('survey.do', $data, '200', $headres);
Это будет работать, потому что это метод подписи / заголовка в Response
класс (Фасад):
public static function view($view, $data = array(), $status = 200, array $headers = array())
В этом случае он вызывает make
метод этого класса, который заключается в следующем:
public static function make($content = '', $status = 200, array $headers = array())
{
return new IlluminateResponse($content, $status, $headers);
}
Вы на хорошем пути. Поставить вид & заголовок в переменной сначала:
$view = View::make('survey.do')
->with('theme', $survey->theme);
$response = Response::make($view, $status);
$response->header('Cache-Control', 'no-cache, must-revalidate')
->header('Expires', 'Mon, 26 Jul 1997 05:00:00 GMT');
return $response;