2017-10-05 80 views
0

我有一個方法登錄在我的控制器,我初始化會話這樣。無脂框架會話變量無法從另一個方法

$sess=new \DB\SQL\Session($db); 
$id=session_id(); 
$data=...; 
if(!$sess->read($id)) 
    $sess->write($id,json_encode($data)); 
...... 

它工作正常,但問題是,$sess變量不是這種方法外部訪問,我想退出的時候到別的地方訪問它破壞了會議,並關閉這個樣子。

$sess= \DB\SQL\Session::instance(); 
$sess->destroy(); 
$sess->close(); 

,但我得到一個錯誤 Call to undefined method DB\SQL\Session::instance() 我在哪裏去了?

回答

0

初始化SQL Session類時,它將自己設置爲默認的PHP會話處理程序。因此,您只需要像往常一樣清除全球會話$f3->clear('SESSION');。就這樣。

+0

感謝您的幫助,錯誤消失了,但現在會話表中的數據未被刪除,如何刪除在登錄過程中寫入的行?我已經更新了我的問題,關於證書驗證後我如何初始化會話。 – indago

+0

當需要的時候,php垃圾收集器會自動刪除表格數據......不需要關心這些。 – ikkez