我目前正在迁移一个古老的Zend 1.1的网站,需要Zend_Session_Namespace的用途的替代品。
对于Yii2是否存在一个?或者替代地有一个插件或东西添加此功能?
-edit:具体地设置期满超时和跳限制等的Zend具有的能力。
谢谢。
您在编辑添加的信息从来没有前面提到的,使你的问题太宽泛您可以创建为一个单独的问题。
默认情况下,会话数据被存储在文件中。实现从打开会话它关闭或者点按session_write_close()
(Yii中这是可以做到的Yii::$app->session->close()
),或在请求端锁定的文件。虽然会议文件被锁定,其正试图使用同一个会话的所有其他请求被阻塞即等待释放会话文件的初始请求。这个工作可以用于开发或小项目。但是,当涉及到处理大量并发请求,最好是使用更复杂的存储,比如数据库。
Zend_Session_Namespace
实例为在Zend框架操作会话数据提供主要API
。命名空间常用于隔离所有的会话数据,如果你的脚本转换为Yii2框架,您可能需要考虑https://www.yiiframework.com/doc/api/2.0/yii-web-session
一个简单的例子来比较两者通过实例的功能是
$defaultNamespace = new Zend_Session_Namespace('Default');
if (isset($defaultNamespace->numberOfPageRequests)) {
// this will increment for each page load.
$defaultNamespace->numberOfPageRequests++;
} else {
$defaultNamespace->numberOfPageRequests = 1; // first time
}
echo "Page requests this session: ",
$defaultNamespace->numberOfPageRequests;
public function actionIndex()
{
$session = new \yii\web\Session();
$session->open();
$visits = $session->get('visits', 0);
$visits = $visits+1;
$session->set('visits', $visits);
return "Total visits $visits";
}