Я могу установить и получить данные сеанса в одном контроллере, как показано ниже:
$this->session->set('userid', $dbres [0]['user_id']);
$user_id = $this->get('session')->get('userid');
Это отлично работает.
Но если я использую
$user_id = $this->get('session')->get('userid');
Какую ошибку я сделал здесь?
В другом контроллере выдается эта ошибка:
Вызов функции-члена get () в null
редактировать:
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, Я получаю сообщение об ошибке «Вызов функции-члена get () в null»
Какой контроллер расширяет ваши контроллеры?
Попробуйте получить сессию из контейнера:
$this->container->get('session')->get('userid');
Других решений пока нет …