2017-07-02 100 views
1

我在laravel 5.4中有這個功能,但我不能從cookie中獲取任何東西。如何在laravel 5.4中設置cookie?

Cookie::queue('currentLang', 'heb', 999999999); 

echo $request->cookie('currentLang'); 

但我得到一些長字符串,而不是我設置。

+1

什麼是長串?他們是'pneumonoultramicroscopicsilicovolcanoconiosis'嗎? – SteveFest

+0

你把這個放在控制器的構造函數中嗎?之後Cookies只會得到解密,所以你必須自己解密https://laravel.io/forum/09-07-2015-cookies-encrypted –

回答

2

Laravel有一個cookie助手!

/** 
* Create a new cookie instance. 
* 
* @param string $name 
* @param string $value 
* @param int  $minutes 
* @param string $path 
* @param string $domain 
* @param bool $secure 
* @param bool $httpOnly 
* @return \Symfony\Component\HttpFoundation\Cookie 
*/ 
function cookie($name = null, $value = null, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true) 
{ 
    $cookie = app(CookieFactory::class); 

    if (is_null($name)) { 
     return $cookie; 
    } 

    return $cookie->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly); 
} 

然後使用:

Cookie::get('$name') 
+0

我可以在哪裏放這個功能? – oded

+1

只需使用cookie替換您的Cookie ::隊列('name','value',99999); 該函數本身存在於laravel的helpers.php中 - 所以你可以在任何地方使用它 – PolluX

+0

我仍然得到一些哈希長行 – oded

0

使用照亮\支持\外牆\餅乾;

...

曲奇::隊列( 'currentLang', '希伯來',999999999);

echo Cookie :: get('currentLang');