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