我会根据我所做的一些研究重新构建我的问题吗?
我需要单独存储很多错误,例如 $_SESSION['client_error'],$_SESSION['state_error'] 等。根据zend文档,我是否必须为每个错误都这样存储它?
$client_error = new Zend_Session_Namespace(''client_error);
$state_error = new Zend_Session_Namespace('state_erro'); and so on?
这是我在控制器中的代码。我将其存储为 $this->view->state_error_message=$state_error;
在视图中回显 $this->state_error 后,我想取消设置它。
好的,这里还有一些我尝试过的东西: 在 policyInfoAction 的控制器中:
session_start();
$error_message = new Zend_Session_Namespace('error_message');
$error_message="TEST";
$this->view->error_message=$error_message;
$this->_redirect('/pdp/client-info/');
在客户端信息的视图中:
session_start();
<?php echo $this->error_message; ?>
这不返回任何内容。
好的,这是我更新的代码:
public function clientInfoAction()
{
$errors = new Zend_Session_Namespace('errors');
// get the error arrays
$client_errors = (isset($errors->client_error)) ? $errors->client_error : array();
$state_errors = (isset($errors->state_error)) ? $errors->state_error : array();
unset($errors->client_error, $errors->state_error); // delete from the session
// assign the values to the view
$this->view->client_errors = $client_errors;
$this->view->state_errors = $state_errors;
}
public function policyInfoAction()
{
if (count($arrErrors) > 0)
{
// The error array had something in it. There was an error.
$strError="";
foreach ($arrErrors as $error)
{
$strError="";
$errors->client_error = array();
$errors->state_error = array();
foreach ($arrErrors as $error)
{
$strError .= $error;
// to add errors to each type:
$errors->client_error['client_error'] = $strError;
$errors->client_error[] = $strError;
$this->_redirect('/pdp/client-info/');
}
}
}
当我回显 $this->client_errors 我得到“数组”