我对 ZendFramework 比较陌生,正在尝试解决这个问题。在我的视图脚本(index.phtml)中,我有一段代码说:
<?php
function getErrorString($element)
{
echo "<pre>";
print_r($this);
echo "</pre>";
$string = '';
if(!empty($this->error[$element]))
{
$string = $string.'<label class="error" for="'.$element.'" generated="true">';
foreach($this->error[$element] as $error)
{
$string = $string.$error;
}
$string = $string.'</label>';
}
return $string;
}
echo "<pre>";
print_r($this);
echo "</pre>";
getErrorString("blah");
die();
这给了我:
Fatal error: Using $this when not in object context in index.phtml on line XX
在我看来,当您在视图中创建函数时,您会丢失 $this 变量。我确实在网上搜索过,我看不到其他人试图实现我正在做的事情(极不可能,也许我搜索错了)。
凭借过去开发其他应用程序的经验,我看不出为什么应该将此函数放在单独的助手中 -> 特别是因为这是唯一会调用该函数的地方。
任何想法将不胜感激。