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ちゃんと見てません、あしからず。