<?php
class OturumYoneticisi{
	private $id;
	private $giris;
	private $sonIslem= null;
	private $pasiflikSuresi = 300;
	public function OturumYoneticisi(){
		session_start();
	}
	public function oturumKayit($id, $giris){
		$this->id 		 	= base64_encode($id);
		$this->giris 	 	= base64_encode($giris);
		$this->sonIslem = date("Y-m-d H:i:s");
		$_SESSION['id'] 							= $this->oturumIdGetir();
		$_SESSION['kullaniciGiris'] 	= $this->kullaniciGirisGetir();
		$_SESSION['sonIslem']					= $this->sonIslemGetir();
	}
	public function oturumDogrula(){
		if(!isset($_SESSION['id'])|| !isset($_SESSION['kullaniciGiris'])){
			header("Location: ?durum=reddedildi");
		}
		if(!$this->aktiflik( $_SESSION['sonIslem'])){
			header("Location: ?durum=zamanasimi");
		}
		return true;
	}
	private function aktiflik($sonIslem){
		$simdi = date("Y-m-d H:i:s");
		$fark = (strtotime($simdi) - strtotime($sonIslem));
		if($fark >= $this->pasiflikSuresiGetir()){
			return false;
		}
		else{
			$_SESSION['sonIslem'] = $simdi;
			return true;
		}
	}
	public function oturumuBitir(){
		$_SESSION = [];
		session_destroy();
	}
	public function oturumIdGetir(){
		return $this->id;
	}
	public function kullaniciGirisGetir(){
		return $this->giris;
	}
	public function pasiflikSuresiGetir(){
		return $this->pasiflikSuresi;
	}
	public function sonIslemGetir(){
		return $this->sonIslem;
	}
}
$s=new OturumYoneticisi;
$id=1;
$giris="admin";
$s->oturumKayit($id, $giris);
var_dump($s->oturumDogrula());
var_dump($s->oturumIdGetir());
var_dump($s->kullaniciGirisGetir());
var_dump($s->pasiflikSuresiGetir());
var_dump($s->sonIslemGetir());
print_r($_SESSION);
$s->oturumuBitir();
print_r($_SESSION);
?>
Çıktısı
bool(true)
string(4) "MQ=="
string(8) "YWRtaW4="
int(300)
string(19) "2018-06-10 14:09:25"
Array
(
    [id] => MQ==
    [kullaniciGiris] => YWRtaW4=
    [sonIslem] => 2018-06-10 14:09:25
)
Array
(
)