如何在Controller,Model或View之外的文件中引用会话变量?

时间:2015-11-23 08:35:03

标签: phalcon

我在控制器中设置了一个session变量:

$this->session->set("navig_param",$livc_code);

现在我想在Controller域,Model域和View域之外的php文件中测试该会话变量是否为空。实际上,此文件位于名为 lib 的特定文件夹中,与控制器,模型和视图处于同一级别。那么如何在这个php文件中测试会话变量呢?

3 个答案:

答案 0 :(得分:4)

您还可以通过

访问会话数据(静态)
$session = Phalcon\Di::getDefault()->get('session');
$navigParam = $session->get('navig_param');

或oneliner:

$navigParam = Phalcon\Di::getDefault()->get('session')->get('navig_param');

参考:phalcon static DI

答案 1 :(得分:3)

由于会话是一项服务,您只需要访问DI容器:

$navigParam = $di->get('session')->get('navig_param');

或者,您始终可以使用$_SESSION超级全局:

$navigParam = $_SESSION['navig_param'];

要获得$di,您可以使用:$di = DI::getDefault();

答案 2 :(得分:3)

$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);

}