Voor de huidige applicatie die ik ontwikkel mbv het Zend Framework wil ik een ViewHelper toevoegen die over een constructor beschikt die ik zelf kan initieëren.
Het idee is dat ik een controller gedefinieerd heb die functionaliteiten voor het werken met een bepaalde entiteit groepeert. Nu wil ik dat deze controller ook een ViewHelper instelt zodat deze specifiek zijn werk kan doen in de bijbehorende views van de acties deze controller. Dat wil ik doen door deze ViewHelper een constructor mee te geven en deze bij initialisatie van de controller zelf aan te maken.
Wat concreter, er is een controller:
En een ViewHelper:
In de view zou ik dan deze helper willen gebruiken:
Jammergenoeg werkt de bovenstaande implementatie niet! Ondanks dat ik zelf een instantie aanmaak in de controller van CustomHelper maakt de view toch nog een nieuwe instantie aan (wat zelfs niet lukt omdat hij de parameter van de constructor niet opgeeft).
Iemand ideeën over hoe dit wél kan werken of hoe ik het beter kan aanpakken?
Bedankt!
Het idee is dat ik een controller gedefinieerd heb die functionaliteiten voor het werken met een bepaalde entiteit groepeert. Nu wil ik dat deze controller ook een ViewHelper instelt zodat deze specifiek zijn werk kan doen in de bijbehorende views van de acties deze controller. Dat wil ik doen door deze ViewHelper een constructor mee te geven en deze bij initialisatie van de controller zelf aan te maken.
Wat concreter, er is een controller:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| class Controller extends Zend_Controller_Action { public function init() { new CustomHelper( 'hier de aparte content'); } public function testAction() { // render test.phtml } } |
En een ViewHelper:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| class CustomHelper extends Zend_View_Helper_Abstract { public __construct( $param ) { // Doe wat met $param } public function customHelper() { // Geef iets terug dat afhangt van de meegegeven $param } } |
In de view zou ik dan deze helper willen gebruiken:
PHP:
1
| <p>Hier wat tekst, en <?php echo $this->customHelper()?> de specifieke content.</p> |
Jammergenoeg werkt de bovenstaande implementatie niet! Ondanks dat ik zelf een instantie aanmaak in de controller van CustomHelper maakt de view toch nog een nieuwe instantie aan (wat zelfs niet lukt omdat hij de parameter van de constructor niet opgeeft).
Iemand ideeën over hoe dit wél kan werken of hoe ik het beter kan aanpakken?
Bedankt!