从URL设置Cookie

时间:2016-06-16 08:02:00

标签: php laravel

我对Laravel框架完全陌生,几天前才开始学习,我挑战自己创建基于cookie的URL。这意味着,如果我要访问http://localhost/cookie/nick,它应该存储基于cookie / *的cookie。我试着做,但每次都会得到空饼干。有可能吗?如果有,是否有人可以指导我?这是我的代码: -

routes.php文件

Route::get('/cookie/{name}','CookieControllerName@setCookieByUrl');

CookieControllerName.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests;

class CookieControllerName extends Controller
{
        public function getCookie(Request $request){
                $value = $request->cookie('name');
                echo "Hello ".$value;
        }
        public function setCookieByUrl(Request $request, $name){
                $response = new Response('Hello World');
                $response->withCookie(cookie('name', $name, 3600));
                $value = $request->cookie('name');
                echo $value; //For debugging purpose
        //        getCookie();
        }
}

1 个答案:

答案 0 :(得分:0)

您需要返回$ response变量才能发生任何事情。

除此之外,我还没有真正看到你的代码是如何工作的,因为你对getCookie()的函数调用甚至不在范围内。它应该是:

<强> $这 - &GT;的getCookie()

只需将getCookie()替换为:

return $response 

至少应该获得适当的cookie设置。

完整的代码块:

public function setCookieByUrl(Request $request, $name){
        $response = new Response('Cookie has been set');
        $response->withCookie(cookie('name', $name, 3600));
        return $response;
}

enter image description here

Cookie值已加密,这就是您无法直接看到它的原因。