我可以在同一个控制器内设置和获取会话数据,如下所示:
$this->session->set('userid', $dbres [0]['user_id']);
$user_id = $this->get('session')->get('userid');
这很好。
但是如果我使用
$user_id = $this->get('session')->get('userid');
我在这里犯了什么错误?
在另一个控制器中,抛出此错误: 在null上调用成员函数get()
修改:
Please help me, I have the following classes
class AssociationController extends FOSRestController {
public $session;
public function __construct(){
/*** Set Session ***/
$this->session = new Session();
}
/**
* @Rest\Post("/session/get")
*/
public function postTestSetSessionAction(Request $request) {
$this->session->set('userid', $dbres [0]['user_id']);
$Obj = new ComplaintsController();
$Obj->getSessionData();
}
}
class ComplaintsController extends FOSRestController {
public function getSessionData() {
$user_id = $this->get('session')->get('userid');
}
}
当我调用http://localhost/app_dev.php/session/get时,出现错误“在null上调用成员函数get()”
答案 0 :(得分:0)
您的控制器可以扩展哪个控制器?
尝试从容器中获取会话:
$this->container->get('session')->get('userid');