Php 尝试获取Cookie时出现Symfony2 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
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