我的路线文件中定义了一条路线
Route::get('/deals-coupons/{merchant_url_text}', function($merchant_url_text) {
return view('mlpdeals', ['merchant_url_text' => $merchant_url_text]);
});
我想在用户在Laravel 5.1中使用此路由时设置cookie值。我尝试了下面的路线,但它不起作用。
Route::get('/deals-coupons/{merchant_url_text}', function($merchant_url_text) {
return view('mlpdeals', ['merchant_url_text' => $merchant_url_text])->withCookie('testcookie', 'abcdef');
});
我检查了文档,但它显示了从Controller设置cookie的示例。是否可以通过路由设置这样的cookie?
答案 0 :(得分:0)
是的。
无论如何它都是相同的功能。
/**
* Add a cookie to the response.
*
* @param \Symfony\Component\HttpFoundation\Cookie|mixed $cookie
* @return $this
*/
public function withCookie($cookie)
{
if (is_string($cookie) && function_exists('cookie')) {
$cookie = call_user_func_array('cookie', func_get_args());
}
$this->headers->setCookie($cookie);
return $this;
}
withCookie
方法只需调用setCookie
类上的Symfony\Component\HttpFoundation\ResponseHeaderBag
方法。