我在类中定义了一个变量
Controller_Application 扩展 Controller_Template
我在 Controller_Application 类中定义了一个变量 $Form_Errors 如下
公共 $Form_Errors = 数组();
public function before() { parent::before(); View::set_global('site_name', 'SiteName'); View::bind_global('Form_Errors', $Form_Errors); }
$Form_Errors 由一个名为 的方法设置,该方法ManageErrors
也在内部定义Controller_Application
。每次发生异常或某些错误时,所有其他控制器都会调用 ManageErrors。
public function ManageError($ErrorCode, $extraerrors=null) {
if ($ErrorCode == Controller_Application::MsgEmailExists)
array_push($this->Form_Errors, "Email provided is already in use.");
}
我试图在视图中访问这个 $Form_Errors,以显示它包含的错误消息。但是,当我尝试打印它的值时,它总是打印为 NULL。
ManageError 访问如下
public function action_index() {
$this->template->content = View::factory('vsignin')->render();
$this->ManageError(Controller_Application::MsgEmailExists);
}
在 vsignin.php
<?php if ($Form_Errors): ?>
<p class="message">Some errors were encountered, please check the details you entered.</p>
<ul class="errors">
<?php foreach ($Form_Errors as $message): ?>
<li><?php echo $message ?></li>
<?php endforeach ?>
<?php endif ?>
有人可以帮我弄清楚为什么 $Form_Errors 总是打印 NULL 吗?
谢谢