Zend framework ->;Zend框架中的partial()方法?

Zend framework ->;Zend框架中的partial()方法?,zend-framework,partial-views,zend-view,Zend Framework,Partial Views,Zend View,我试图找到Zend在哪里实现了partial()方法,以便我可以在其中添加一些ACL代码以进行权限控制。我知道该方法的调用对象始终是Zend_View对象,我查看了一下,但其中似乎缺少分部方法(以及它继承/实现的所有类/接口) 有人知道Zend_View是如何获得这种方法的吗 对于那些有优化意识并渴望告诉我应该使用render()的人来说,所讨论的部分需要变量输入,因为它们与表行部分扮演的角色相同。除非您能向我演示如何使用render()方法实现这一点,否则请继续讨论这个主题 此外,我不打算直接

我试图找到Zend在哪里实现了partial()方法,以便我可以在其中添加一些ACL代码以进行权限控制。我知道该方法的调用对象始终是Zend_View对象,我查看了一下,但其中似乎缺少分部方法(以及它继承/实现的所有类/接口)

有人知道Zend_View是如何获得这种方法的吗

对于那些有优化意识并渴望告诉我应该使用render()的人来说,所讨论的部分需要变量输入,因为它们与表行部分扮演的角色相同。除非您能向我演示如何使用render()方法实现这一点,否则请继续讨论这个主题

此外,我不打算直接修改Zend Framework代码,我只是想覆盖实现,但我还想看到我覆盖的方法,以便我可以看到我正在使用的方法。

如何编写自己的帮助程序和覆盖默认帮助程序 因为我们谈论的是视图帮助程序,所以它的代码可以在
library\Zend\view\helper\Partial.php
中找到。如果要更改局部视图辅助对象的功能,请编写自己的辅助对象:

class MyProject_View_Helper_MyHelper extends Zend_View_Helper_Abstract {}

然后通过向配置中添加该帮助器的路径,将其添加到帮助器堆栈中

resources.view.helperPath.MyProject_View_Helper_ = "MyProject/View/Helper/"
如果调用帮助程序
Partial
,则可以完全覆盖默认的部分帮助程序

另见此

用你的话来说

…Zend_如何看待获得部分方法 如果注册了助手,则可以从视图中调用它,因为
Zend\u view\u Abstract

/**
 * Accesses a helper object from within a script.
 *
 * If the helper class has a 'view' property, sets it with the current view
 * object.
 *
 * @param string $name The helper name.
 * @param array $args The parameters for the helper.
 * @return string The result of the helper output.
 */
public function __call($name, $args)
{
    // is the helper already loaded?
    $helper = $this->getHelper($name);

    // call the helper method
    return call_user_func_array(
        array($helper, $name),
        $args
    );
}

这只是给了我如何使用它的信息(我已经在使用它)。我要问的是,在哪里定义了->partial,以便我可以更改它?感谢快速回复BTWI如果您知道它是视图帮助器,那么很容易找到:library\Zend\view\helper\Partial.php。如果您想实现自己的,请编写自己的,并将其添加到视图帮助器路径。如果您想完全替换它,请将其添加到具有相同名称的帮助器堆栈中以覆盖本机帮助器。我稍后会看一看,您是否可以向我解释Zend_视图是如何获得分部方法的?。我指的是控制器实例化为$this->views的实际Zend_视图对象。多谢,这确实让我开始了
/**
 * Accesses a helper object from within a script.
 *
 * If the helper class has a 'view' property, sets it with the current view
 * object.
 *
 * @param string $name The helper name.
 * @param array $args The parameters for the helper.
 * @return string The result of the helper output.
 */
public function __call($name, $args)
{
    // is the helper already loaded?
    $helper = $this->getHelper($name);

    // call the helper method
    return call_user_func_array(
        array($helper, $name),
        $args
    );
}