View Helpers vanuit View Helpers aanroepen in Zend Framework
Ik zat vandaag met het volgende probleem:
- Er is een view helper (showMenu, te vinden in ‘/library/Sterc/View/Helper/ShowMenu.php’) die een menu genereert vanuit een database
- In dat menu moeten url’s worden gegenereerd
- Er was in het door mij gemaakte systeem echter al een manier om URL’s te genereren, namelijk een andere view helper (makeUrl)
- Probleem: je kan niet even simpel $this->makeUrl() of iets dergelijks aanroepen
Oplossing:
In principe is een view helper gewoon een class. Een class kun je gewoon aanroepen en uitvoeren vanuit bijvoorbeeld de view helper “showMenu”:
Zend_Loader::loadClass('Sterc_View_Helper_MakeUrl');
$url = new Sterc_View_Helper_MakeUrl();
$link = $url->makeUrl($linkId, 'page');
Kleine kanttekening hierbij is: De view helper staat dus hier: ‘/library/Sterc/View/Helper/MakeUrl.php’.
Zo simpel is het dus: 3 regels code, in plaats van de hele functie makeUrl in bijvoorbeeld de view helper ShowMenu te plakken.