Überprüfen Sie die docs: https://framework.zend.com/manual/2.1/en/modules/zend.view.helpers.advanced-usage.html
Wenn Sie Ihren Helfer wollen der Lage sein, wie geltend gemacht wird, wenn es einen Methodenaufruf des PhpRenderer waren, sollten Sie auch eine __invoke() -Methode in Ihrem Helfer implementieren.
Das gleiche mit dem Zweig Renderer anwenden müssen, wird es versuchen, die Hilfsklasse (unter Verwendung aufrufen als Verknüpfung) können
Sie sehen auszuführen, wo die PHPRenderer __invoke verwendet() als Proxy/Verknüpfung zu den Helfern :
https://github.com/zendframework/zend-view/blob/master/src/Renderer/PhpRenderer.php#L389
/**
* Overloading: proxy to helpers
*
* Proxies to the attached plugin manager to retrieve, return, and potentially
* execute helpers.
*
* * If the helper does not define __invoke, it will be returned
* * If the helper does define __invoke, it will be called as a functor
*
* @param string $method
* @param array $argv
* @return mixed
*/
public function __call($method, $argv)
{
$plugin = $this->plugin($method);
if (is_callable($plugin)) {
return call_user_func_array($plugin, $argv);
}
return $plugin;
}
stelle ich mir die Zweig-Renderer etwas ähnliches gerade tut, infact können wir darunter sehen ist:
https://github.com/ZF-Commons/ZfcTwig/blob/master/src/ZfcTwig/View/TwigRenderer.php#L83
Vielen Dank für Ihre gute Erklärung! –