我有一些可重用的函数,我想在我的 Controller 中使用它们来操作我的 Controller 中的 ajax 数据。因为 Controller 没有 View (因为它是 AJAX)。我想知道下面的方法在 Zend Framework 中的正确位置
function blockUnblock($value, $id) {
$image = ($value == 0) ? 'tick.png' : 'tock.png';
$alt = ($value == 0) ? 'Yes' : 'No';
$src = '<a class="toggle" href="#toggle">';
$src .= '<img src = "/css/images/'.$image.'" alt = "'.$alt.'" data-id = "'.$id.'" data-block = "'.$value.'"/>';
$src .= '</a>';
return $src;
}
我需要在各种 Controller 和操作中重用这个方法。
它属于哪个辅助方法?
最佳答案
因为你的功能是格式化html,所以在我看来它属于一个View Helper。我假设您使用的是 json 格式的 AjaxContext(这就是为什么您不需要为此操作使用 viewscript 的原因)。但是,无论如何,您都可以使用以下方法从您的 Controller 调用任何 View 助手:
$imageLink = $this->view->blockUnblock($value, $id);
$this->view->imageLink = $imageLink;
你的 View 助手看起来像这样:
// .../views/helpers/BlockUnblock.php
class Zend_View_Helper_BlockUnblock extends Zend_View_Helper_Abstract
{
public function blockUnblock($value, $id)
{
$image = ($value == 0) ? 'tick.png' : 'tock.png';
$alt = ($value == 0) ? 'Yes' : 'No';
$src = '<a class="toggle" href="#toggle">';
$src .= '<img src = "/css/images/'.$image.'" alt = "'.$alt.'" data-id = "'.$id.'" data-block = "'.$value.'"/>';
$src .= '</a>';
return $src;
}
}
关于zend-framework - 这个方法在 zend 框架中属于什么地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194106/