【发布时间】:2015-11-23 08:35:03
【问题描述】:
我在控制器内设置了一个session 变量:
$this->session->set("navig_param",$livc_code);
现在我想测试该会话变量在控制器域、模型域和视图域之外的 php 文件中是否为空。事实上,这个文件位于一个名为 lib 的特定文件夹中,与控制器、模型和视图处于同一级别。那么如何测试这个 php 文件中的 session 变量呢?
【问题讨论】:
标签: phalcon
我在控制器内设置了一个session 变量:
$this->session->set("navig_param",$livc_code);
现在我想测试该会话变量在控制器域、模型域和视图域之外的 php 文件中是否为空。事实上,这个文件位于一个名为 lib 的特定文件夹中,与控制器、模型和视图处于同一级别。那么如何测试这个 php 文件中的 session 变量呢?
【问题讨论】:
标签: phalcon
您还可以通过
访问您的会话数据(静态)$session = Phalcon\Di::getDefault()->get('session');
$navigParam = $session->get('navig_param');
或单线:
$navigParam = Phalcon\Di::getDefault()->get('session')->get('navig_param');
【讨论】:
$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);
}
【讨论】:
alert。但是你需要从你的视图中调用$this->flash->output(); 来输出它的内容,通常放在你的index.phtml 文件中。它保留了一个集合,即一个数组,包含您希望在它们堆积时闪烁的所有消息。
由于会话是一项服务,您只需要访问 DI 容器:
$navigParam = $di->get('session')->get('navig_param');
您也可以随时使用$_SESSION super global:
$navigParam = $_SESSION['navig_param'];
要获取$di,您可以使用:$di = DI::getDefault();
【讨论】:
$di?