私は作成中のPHPクラスを持っています。これは$_SESSION
スーパーグローバルで動作しますが、作業環境についてもう少し考えています。クラスが呼び出されたときにセッションを開始するために を使用しないことに決めました__construct
が、: のままにしました$Class->init();
。
クラスに、既に呼び出されている Web ページに移行する機能を持たせたいと考えています ... 繰り返しますが、コンストラクター関数session_start
の out を残すことに戻ります。session_start()
私のコードは次のとおりです。
class Session {
protected $Session_Started = false;
public function init(){
if ($this->Session_Started === false){
session_start();
$this->Session_Started = true;
return true;
}
return false;
}
public function Status_Session(){
$Return_Switch = false;
if (session_status() === 1){
$Return_Switch = "Session Disabled";
}elseif (session_status() === 2){
$Return_Switch = "Session Enabled, but no sessions exist";
}elseif (session_status() === 3){
$Return_Switch = "Session Enabled, and Sessions exist";
}
return $Return_Switch;
}
/*Only shown necessary code, the entire class contents is irrelevant to the question topic */
$this->Session_Started
コードが表示されている..セッションが以前に2つのメソッド、内部参照によって呼び出されたtrue
かどうかを検証していることは明らかです。false
また、応答を呼び出しsession_status()
て検証しています。
少し前に、既に呼び出されている可能性のあるサイトに移行したいと言いましsession_start()
た . セッションが既に呼び出されている場合、検証するための最良の方法は何ですか?.. このクラスに最後に実行してもらいたいことは、スローを開始することですクラスのインポートおよび初期化時のエラー