Session işlemlerini Kolaylaştıran Class
Bu Class Mehmet Şamlı Tarafından Yazılmış bir Class’tır.
Class’ın amacı Kod’lar içerisinde session işlemlerinin kolaylaştırılması .
Kısaca Bahsedersek . Class Session’ları oluşturur,Siler,session_id sini verir, Dizi halinde session oluşturma imkanı vardır. Zaten kullanınca Öğreneceksiniz . Session’lar genelde dosya halindedir. Fakat bu class bilgileri Memory’de Saklamaktadır. Ayrıca bu class’da sabit olarak session adı ve session expire süresi ayarlarıda mevcuttur. Saniye Bazından ayarlanabilmektedir.
<?php
/**
* @author Umut
* @copyright 2011
* @version PHP 6.0.0
*/
class session
{
/**
* Session Zaman Aşımı Süresi
*/
const TIMEOUT = '300';
/**
* Session Adı
*/
const SESSION_NAME = 'JSESSIONID';
public static function set()
{
//Session expire süresi belirliyoruz.
ini_set('session.gc_maxlifetime',self::TIMEOUT);
self::setSessionName();
self::startsession();
}
private static function startsession()
{
session_start();
}
private static function setSessionName()
{
session_name(self::SESSION_NAME);
}
/**
* Session atayan method. Dizideki parametreleri session olarak atar.
* @param array $sessionArr
*/
public static function createSession($sessionArr)
{
if ( is_array($sessionArr))
{
$count = count($sessionArr);
if($count%2==0)
{
$i = 0 ;
while($i<$count)
{
$_SESSION[$sessionArr[$i]] = $sessionArr[$i+1];
$i+=2;
}
return true;
}
}
return false ;
}
/**
* session işlemlerini sonlandırmak için kullanılan method
* tek tek session'ları array olarak göndererek silebildiği gibi $all paramatresi
* true olarak göndererk tüm session'ları silebilir
* @param array $sessionArr array('fname','lname')
* $param boolean $all
* return boolean
*/
public static function deleteSession($sessionArr,$all=false)
{
if($all)
{
session_destroy();
echo "session'lar destroy edildi";
return true ;
}
if(is_array($sessionArr))
{
$count = count($sessionArr);
$i=0;
while($i<$count)
{ unset($_SESSION[$sessionArr[$i]]); $i++; }
foreach($sessionArr as $name)
{ unset($_SESSION[$name]);
}
return true;
}
return false;
}
/** * session bilgisini get eder */
public static function getSessionId($regenerate=false)
{ if ($regenerate)
{ session_regenerate_id(); }
return session_id();
} /** * Session Adını Get eder */
public static function getSession($name)
{
return $_SESSION[$name];
}
public static function sessionVariable($sessionName)
{ if(isset($_SESSION[$sessionName]))
return true;
else return false;
}
} ?>
kullanımı
session::set(); // Tüm Oturumları Başlatır.
$veri = array('Adi','UFUK','soyadi','bağci');
session::createSession($veri);// Session'ları oluşturur.
session::deleteSession(array('Adi','Soyadi')); // Verilen isimdeki Session'ları yok eder.
session::deleteSession(array(),TRUE); // Hepsini YokEder.
echo session::getSessionId(TRUE); // Session Bilgisini Get Eder.
Yukarıdaki sınıfı henüz inceleme fırsatım olmadı, ama burada dursun diye sayfaya ekledim. İleride lazım olursa fikir verebilir.
Kaynak : http://www.jettem.tk/2011/php/php-session-islemlerini-kolaylastiran-class.html
