Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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 尝试获取Cookie时出现Symfony2 Cookie问题_Php_Symfony_Cookies_Request_Response - Fatal编程技术网

Php 尝试获取Cookie时出现Symfony2 Cookie问题

Php 尝试获取Cookie时出现Symfony2 Cookie问题,php,symfony,cookies,request,response,Php,Symfony,Cookies,Request,Response,我在管理Symfony2中的Cookie时遇到困难 我的所有数据都在一个控制器中操作,该控制器用作另一个控制器的服务(我在该控制器之外进行了测试,我也遇到了同样的问题) 我使用以下方法: use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Cookie; 要设置Cookie,我使用Cook

我在管理Symfony2中的Cookie时遇到困难

我的所有数据都在一个控制器中操作,该控制器用作另一个控制器的服务(我在该控制器之外进行了测试,我也遇到了同样的问题)

我使用以下方法:

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Cookie;
要设置Cookie,我使用Cookie()Response()

这里一切正常,我可以通过$\u Cookievar查看Cookie转储,并且可以使用各种浏览器插件查看它。但问题是我看不懂

我尝试了两种方法,都没有成功

public function readAction()
{

    // Method 1
    $request = new Request;
    $cookies = $request->cookies;
    var_dump( $cookies->get('mycookie') );

    // Method 2
    $response = new Response();
    $cookies = $response->headers->getCookies();
    var_dump($cookies);

    // Return My Response

}
你知道我做错了什么吗?
请注意,我刚刚开始使用Symfony2。

您正在创建新的
请求
响应
对象,而不是使用预先初始化的对象。试着这样,

public function readAction(Request $request) // <-- Notice the change
{

    // Method 1
    $cookies = $request->cookies;
    var_dump( $cookies->get('mycookie') );

    // Method 2
    $response = $this->getResponse();         // <-- Notice the change
    $cookies = $response->headers->getCookies();
    var_dump($cookies);

    // Return My Response

}
公共函数readAction(Request$Request)//cookies;
变量转储($cookies->get('mycokie');
//方法2
$response=$this->getResponse();//headers->getCookies();
var_dump($cookies);
//回复我的回复
}

谢谢阿普尔·古普塔。从你的回答中,我得到了如下结论:

public function readAction(Request $request)
{
    $mycookie = $request->cookies->get('mycookie');
    var_dump( $mycookie  );
}
我从控制器请求readAction

$generic = $this->get('generic');
$generic->readAction( $this->getRequest() ); // added this code here because the controller as service don't get the "getRequest()" method

谢谢你

不幸的是,这不起作用。。。我是新来symfony的,所以可能我没有完全理解。“readAction”是一个控制器,如果我尝试从URL请求,我会得到错过的参数错误。如果我尝试将其作为服务访问,则从我请求它的方法中没有请求对象。。。。
$generic = $this->get('generic');
$generic->readAction( $this->getRequest() ); // added this code here because the controller as service don't get the "getRequest()" method