Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2:读取请求对象不工作的Cookie_Php_Symfony_Cookies_Request_Response - Fatal编程技术网

Php Symfony2:读取请求对象不工作的Cookie

Php Symfony2:读取请求对象不工作的Cookie,php,symfony,cookies,request,response,Php,Symfony,Cookies,Request,Response,当我创建一个cookie$response对象时,它可以完全读取,但当页面刷新时,我得到的是空数组。在google上搜索示例,发现它必须使用request对象完成,但它根本不起作用。你知道我错过了什么吗 public function indexAction(Request $request) { $response = new Response(); var_dump($response->headers->getCookies()); //GIVES EMPT

当我创建一个cookie$response对象时,它可以完全读取,但当页面刷新时,我得到的是空数组。在google上搜索示例,发现它必须使用request对象完成,但它根本不起作用。你知道我错过了什么吗

public function indexAction(Request $request) {

    $response = new Response();

    var_dump($response->headers->getCookies()); //GIVES EMPTY ARRAY
    var_dump($request->cookies->all()); //GIVES ONLY PHPSESSID, BUT NOT THE ONE CREATED
    var_dump($request->cookies->get('user')); //GIVES NULL

    // ... //

    if ($loginForm->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $dql = // ... //                    ));
        $result = $dql->getArrayResult();

        if ($result) {
            foreach ($result as $profile) {
                $cookie = // ... //
                $response->headers->setCookie(new Cookie('user', $cookie, $expire = 0, $path = '/', $domain = 'null', $secure = false, $httpOnly = false));
                $response->sendHeaders();
            }

            var_dump($response->headers->getCookies()); //GIVES CORRECT COOKIE OBJECT
            var_dump($request->cookies->all()); //GIVES ONLY PHPSESSID, BUT NOT THE ONE CREATED
            var_dump($request->cookies->get('user')); //GIVES NULL
        }

您将域设置为“null”(字符串),因此当您尝试读取它时,它不会显示,因为您不在“null”域下。如果您想使用默认值,它应该是null(不是字符串)