00001 <?php 00010 final class session { 00011 00017 private static $cfg; 00018 00024 private static $flash; 00025 00031 private static $flashVars; 00032 00036 private function __construct() {} 00037 00044 public static function getInstance(array $cfg = array()) { 00045 self::initCfg(); 00046 return factory::get('session_'.self::$cfg->use, $cfg); 00047 } 00048 00052 private static function initCfg() { 00053 if (!self::$cfg) 00054 self::$cfg = new config(factory::loadCfg(__CLASS__)); 00055 } 00056 00060 public static function initFlash() { 00061 if (self::$flash) 00062 return; 00063 00064 self::$flash = self::getInstance(array( 00065 'prefix'=>'flash', 00066 'nameSpace'=>'flash', 00067 )); 00068 00069 self::$flashVars = self::$flash->getAll(); 00070 self::$flash->clear(); 00071 } 00072 00079 public static function hasFlash($name) { 00080 self::initFlash(); 00081 return array_key_exists($name, self::$flashVars); 00082 } 00083 00090 public static function getFlash($name) { 00091 self::initFlash(); 00092 return self::hasFlash($name)? self::$flashVars[$name] : null; 00093 } 00094 00101 public static function setFlash($name, $val=null) { 00102 self::initFlash(); 00103 if (is_array($name)) { 00104 foreach($name as $k=>$v) 00105 self::setFlash($k, $v); 00106 } else { 00107 self::$flash->set(array( 00108 'name'=>$name, 00109 'val'=>$val 00110 )); 00111 } 00112 } 00113 00114 }
1.7.1