Zend Framework View Helper:这个方法来自哪里?

时间:2011-05-18 06:03:24

标签: zend-framework

我有一个Zend视图模板,其中包含以下代码行:

$this->headTitle()->setSeparator(' - ')

我的问题是,setSeparator()方法在哪里声明?

我知道headTitle是一个View Helper但是当我查看Zend_View_Helper_HeadTitle类时,我看不到setSeparator方法,也没有看到任何setter。大概是方法(或适当的设定者)在类'祖先中声明,但我似乎无法找到确切的位置......

谢谢!

2 个答案:

答案 0 :(得分:4)

它在Zend_View_Helper_Placeholder_Container_Abstract中定义。 对此方法的访问权限在Zend_View_Helper_Placeholder_Container_Standalone类中以其魔术方法__call

进行
$container = $this->getContainer();
if (method_exists($container, $method)) {
    $return = call_user_func_array(array($container, $method), $args);

答案 1 :(得分:0)

使用PHP magic method __set定义。魔术方法在Zend_View_Helper_Placeholder_Container_Standalone类中定义,该类是Zend_View_Helper_HeadLink的基类。