Laravel用params回复了回应

时间:2014-09-14 05:56:44

标签: php laravel-4 blade param

我想做这样的事情:

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标题,我该如何实现?

2 个答案:

答案 0 :(得分:2)

而不是像这样使用withheader传递数组:

$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类(Facade)中的方法签名/标题:

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);
}

答案 1 :(得分:1)

你的方式很好。放置视图&首先在变量中添加标题:

$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;