Я попытался сделать это:Как уничтожить сеанс в symfony 2.6?
$session->remove();
Кроме этого:
$session->clear();
Но это дает следующее сообщение об ошибке:
Call to a member function clear() on a non-object
Я попытался сделать это:Как уничтожить сеанс в symfony 2.6?
$session->remove();
Кроме этого:
$session->clear();
Но это дает следующее сообщение об ошибке:
Call to a member function clear() on a non-object
invalidate()
Clears all session data and regenerates session ID. Do not use session_destroy().
Это на самом деле то, что вы хотите.
Источник & подробнее: http://symfony.com/doc/current/components/http_foundation/sessions.html
Кроме того, такие вещи легко проверить, просто просмотрите источник.
В этом случае следует проверить Session
или SessionInterface
источник:
http://api.symfony.com/2.6/Symfony/Component/HttpFoundation/Session/SessionInterface.html
http://api.symfony.com/2.6/Symfony/Component/HttpFoundation/Session/Session.html
Edit.
Конечно, этот метод относится к классу Session
, поэтому вам необходимо получить доступ к объекту Session
сначала в вашем контроллере.
Так мы идем:
http://symfony.com/doc/current/book/controller.html#managing-the-session
и мы видим, как это сделать:
public function indexAction(Request $request)
{
$session = $request->getSession();
$session->invalidate(); //here we can now clear the session.
}
следующая ошибка произошла Пытались вызвать функцию "недействительным" из пространства имен «Home \ HomeBundle \ Controller –
Это метод объекта 'Session', а не' Controller'. Сначала вы должны получить доступ к объекту 'Session'. См. Мой отредактированный ответ. –
спасибо, что решил мой pr oblem :) еще одна queastion ... прямо сейчас я делаю это, чтобы начать сеанс в действии $ session = new Session(); $ this-> session-> start(); Я хочу написать это $ session = new Session(); в конструкторе и использовать его во всех действиях контроллера. как я могу это сделать, я не могу найти его синтаксис где угодно. –