2015-12-16 20 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方法。

相關問題