PHPのセッション管理はスッキリさせたい

PHPで手続きの途中で別のことをさせてまた戻るときに、
セッションに中断した情報を保存させたりします。
また、リダイレクト先でメッセージを表示させたいときにも利用しますね。

いままでは
$_SESSION['notice'] = $_SERVER['REQUEST_URI'];

$location = './';
if( isset($_SESSION['location']) ){
$location = $_SESSION['location'];
unset($_SESSION['location']);
}
header("Location: $location");

とかやったりするわけですが、あちこちでこんな処理を書くのはダサいですよね。

なので、ユーザ用クラスを作って放り込むことにしたわけです。
手続の中断情報を入れるために、カッコよくInterceptとでもしましょう。

class USER {

public function setIntercept( $location ){
$_SESSION['location'] = $location;
}
public function getIntercept( $flagClear=false ){
if( !isset($_SESSION['location']) ){ return; }
$location = $_SESSION['location'];
if( $flagClear ){ $this->clearLocation(); }
return $location;
}
public function clearLocation(){
if( !isset($_SESSION['location']) ){ return 0; }
unset($_SESSION['location']);
return 1;
}

}

こんな感じでスッキリさせました。
※コードは直書きでtypoちゃんと見てません、あしからず。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です