web/lib/Zend/Session.php
changeset 1230 68c69c656a2c
parent 807 877f952ae2bd
equal deleted inserted replaced
1229:5a6b6e770365 1230:68c69c656a2c
    13  * obtain it through the world-wide-web, please send an email
    13  * obtain it through the world-wide-web, please send an email
    14  * to license@zend.com so we can send you a copy immediately.
    14  * to license@zend.com so we can send you a copy immediately.
    15  *
    15  *
    16  * @category   Zend
    16  * @category   Zend
    17  * @package    Zend_Session
    17  * @package    Zend_Session
    18  * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
    18  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
    19  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    19  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    20  * @version    $Id: Session.php 25121 2012-11-13 21:51:23Z matthew $
    20  * @version    $Id$
    21  * @since      Preview Release 0.2
    21  * @since      Preview Release 0.2
    22  */
    22  */
    23 
    23 
    24 
    24 
    25 /**
    25 /**
    41 /**
    41 /**
    42  * Zend_Session
    42  * Zend_Session
    43  *
    43  *
    44  * @category   Zend
    44  * @category   Zend
    45  * @package    Zend_Session
    45  * @package    Zend_Session
    46  * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
    46  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
    47  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    47  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    48  */
    48  */
    49 class Zend_Session extends Zend_Session_Abstract
    49 class Zend_Session extends Zend_Session_Abstract
    50 {
    50 {
    51     /**
    51     /**
   257 
   257 
   258     /**
   258     /**
   259      * setSaveHandler() - Session Save Handler assignment
   259      * setSaveHandler() - Session Save Handler assignment
   260      *
   260      *
   261      * @param Zend_Session_SaveHandler_Interface $interface
   261      * @param Zend_Session_SaveHandler_Interface $interface
       
   262      * @throws Zend_Session_Exception When the session_set_save_handler call fails
   262      * @return void
   263      * @return void
   263      */
   264      */
   264     public static function setSaveHandler(Zend_Session_SaveHandler_Interface $saveHandler)
   265     public static function setSaveHandler(Zend_Session_SaveHandler_Interface $saveHandler)
   265     {
   266     {
   266         self::$_saveHandler = $saveHandler;
   267         self::$_saveHandler = $saveHandler;
   267 
   268 
   268         if (self::$_unitTestEnabled) {
   269         if (self::$_unitTestEnabled) {
   269             return;
   270             return;
   270         }
   271         }
   271 
   272 
   272         session_set_save_handler(
   273         $result = session_set_save_handler(
   273             array(&$saveHandler, 'open'),
   274             array(&$saveHandler, 'open'),
   274             array(&$saveHandler, 'close'),
   275             array(&$saveHandler, 'close'),
   275             array(&$saveHandler, 'read'),
   276             array(&$saveHandler, 'read'),
   276             array(&$saveHandler, 'write'),
   277             array(&$saveHandler, 'write'),
   277             array(&$saveHandler, 'destroy'),
   278             array(&$saveHandler, 'destroy'),
   278             array(&$saveHandler, 'gc')
   279             array(&$saveHandler, 'gc')
   279             );
   280             );
       
   281 
       
   282         if (!$result) {
       
   283             throw new Zend_Session_Exception('Unable to set session handler');
       
   284         }
   280     }
   285     }
   281 
   286 
   282 
   287 
   283     /**
   288     /**
   284      * getSaveHandler() - Get the session Save Handler
   289      * getSaveHandler() - Get the session Save Handler