Get Adobe Flash player

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

Leave a Reply