2015-12-16 19 views
0

我在我的路线定义的路由文件是否可以从路线文件中设置Laravel 5.1中的cookie?

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

是的。

无论如何它都是一样的功能。

/** 
* 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方法简单地卡列斯上Symfony\Component\HttpFoundation\ResponseHeaderBagsetCookie方法。

相关问题