我读到了destroy a particular session using its ID in pure PHP的方法,我想使用Symfony服务和组件做同样的事情。 这必须在控制器外部完成(例如控制台命令)。
但是,我找不到任何处理public void swap(int currentRow, int hRow ) {
ArrayList <Double> temp = new ArrayList<Double>(super.M.get(hRow));
M.put(hRow, super.M.get(currentRow));\\from super
M.put(currentRow, temp);\\ from super
}
方法的服务/组件。
我应该使用它还是我错过了任何服务/组件?
答案 0 :(得分:3)
此后是一种使用其ID杀死会话的方法(抱歉,我没有时间测试该代码,但它应该可以正常工作)。
use Symfony\Component\HttpFoundation\Session\Session;
$session_id_to_kill = 'xxxxxxxx';
$session = new Session();
$session->setId($session_id_to_kill);
$session->start();
$session->invalidate();
如果您有活动会话(通过控制器操作执行此操作),则必须先将其停止并在杀死另一个后恢复它。
$request->getSession()->stop(); // Stop the current session
// Kill the session using the same code as above
// Restart you session
$request->getSession()->start();
答案 1 :(得分:-1)
回答你的问题:http://symfony.com/doc/current/components/http_foundation/sessions.html#session-data-management
在您的控制器中,您将拥有您的请求对象。一般情况下,您可以使用
$request->getSession()->clear();
或
$request->getSession()->remove("sessionKey");
有关详细信息,请参阅http://symfony.com/doc/current/components/http_foundation/sessions.html
example: getStorageKey()
返回包最终将其数组存储在$ _SESSION中的键。通常,此值可以保留为默认值,供内部使用。
以上文献中的所有内容