如何在控制器、模型或视图之外的文件中引用会话变量?
how to reference a session variable within a file outside of Controller, Model or View?
我在控制器中设置了一个 session
变量:
$this->session->set("navig_param",$livc_code);
现在我想测试控制器域、模型域和视图域之外的 php 文件中的会话变量是否不为空。事实上,这个文件在一个名为 lib 的特定文件夹中,与控制器、模型和视图处于同一级别。那么如何在这个 php 文件中测试会话变量呢?
由于会话是一项服务,您只需要访问 DI 容器:
$navigParam = $di->get('session')->get('navig_param');
或者你总是可以使用 $_SESSION
super global:
$navigParam = $_SESSION['navig_param'];
要获得 $di
,您可以使用:$di = DI::getDefault();
$di=\Phalcon\DI::getDefault();
$session=$di->getSession();
if($session->has("navig_param"))
{
$navig_param=$session->get("navig_param");
//do something with it like flash it:
$di->getFlash()->success('navig_param is: '.$navig_param);
}
您还可以通过
访问您的会话数据(静态)
$session = Phalcon\Di::getDefault()->get('session');
$navigParam = $session->get('navig_param');
或单线:
$navigParam = Phalcon\Di::getDefault()->get('session')->get('navig_param');
我在控制器中设置了一个 session
变量:
$this->session->set("navig_param",$livc_code);
现在我想测试控制器域、模型域和视图域之外的 php 文件中的会话变量是否不为空。事实上,这个文件在一个名为 lib 的特定文件夹中,与控制器、模型和视图处于同一级别。那么如何在这个 php 文件中测试会话变量呢?
由于会话是一项服务,您只需要访问 DI 容器:
$navigParam = $di->get('session')->get('navig_param');
或者你总是可以使用 $_SESSION
super global:
$navigParam = $_SESSION['navig_param'];
要获得 $di
,您可以使用:$di = DI::getDefault();
$di=\Phalcon\DI::getDefault();
$session=$di->getSession();
if($session->has("navig_param"))
{
$navig_param=$session->get("navig_param");
//do something with it like flash it:
$di->getFlash()->success('navig_param is: '.$navig_param);
}
您还可以通过
访问您的会话数据(静态)$session = Phalcon\Di::getDefault()->get('session');
$navigParam = $session->get('navig_param');
或单线:
$navigParam = Phalcon\Di::getDefault()->get('session')->get('navig_param');