Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Zend框架访问旧的PHP会话_Php_Session_Zend Framework2 - Fatal编程技术网

从Zend框架访问旧的PHP会话

从Zend框架访问旧的PHP会话,php,session,zend-framework2,Php,Session,Zend Framework2,我有一个旧的代码库,并且在同一个文件夹中安装了一个zf2应用程序。 在进入zend并进行身份验证时,我想检查会话是否在我的主应用程序中处于活动状态,以便在zend中重新验证用户 我如何从我的zend应用程序中访问已经存在的会话参数,因为zend似乎有自己的存储空间,并且自己启动一个新的会话库?为什么不使用$\u session正常访问会话,获取其密钥和数据并将其转储到zend会话中 例如: use Zend\Session\Container as SessionContainer; // s

我有一个旧的代码库,并且在同一个文件夹中安装了一个zf2应用程序。 在进入zend并进行身份验证时,我想检查会话是否在我的主应用程序中处于活动状态,以便在zend中重新验证用户


我如何从我的zend应用程序中访问已经存在的会话参数,因为zend似乎有自己的存储空间,并且自己启动一个新的会话库?

为什么不使用
$\u session
正常访问会话,获取其密钥和数据并将其转储到zend会话中

例如:

use Zend\Session\Container as SessionContainer;

// say the old user session is an array
// array(
//     'name' => 'john',
//     'key2' => 'val2',
// );

// access the old data normally
$old_user_data = $_SESSION['user'];

// create a new session container with "old_data" as the namespace
$session = new SessionContainer('old_data'); 

// now since this is an old "user" info just set the key to be "user" in 
// this namespace
$session->user = $old_sess_data;
在会议中会是这样的:

[old_data] => Zend\Stdlib\ArrayObject Object
    (
        [storage:protected] => Array
            (
                [user] => Array
                    (
                        name => john,
                        key2 => val2,
                    )

            )

        [flag:protected] => 2
        [iteratorClass:protected] => ArrayIterator
        [protectedProperties:protected] => 
    )
现在,如果您已经有一个现有的Zend会话,那么只需像上面的示例中那样继续检索旧会话数据,并将其推送到已经存在的任何现有名称空间