2017-10-05 1 views
0

私はこのようなセッションを初期化するコントローラにメソッドログインを持っています。別のメソッドからアクセスできないfat-freeフレームワークセッション

$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セッションクラスを初期化すると、デフォルトのPHPセッションハンドラとして設定されます。したがって、通常の場合と同じようにグローバルセッションをクリアする必要があるのは$f3->clear('SESSION');です。それで全部です。

+0

助けてくれてありがとうございますが、セッションテーブルのデータは削除されていません。ログオン時に書き込まれた行を削除するにはどうすればよいですか?私は、資格情報が確認された後にセッションをどのように初期化するかに関する質問を更新しました。 – indago

+0

phpガベージコレクタは、必要なときにテーブルデータを自動的に削除します...注意する必要はありません。 – ikkez

関連する問題