In je model geef je aan welke tabel je gaat gebruiken. Maar wat als je een join wilt gebruiken, dan heb je meerdere tabellen nodig ?
Je kan de Zend_Db_Select-component gebruiken maar dit is zonder de Zend_Db_Table-class die je extend. Hoe kan je dat dan toch integreren in ons MVCpattern ?
Ja, daar heb ik ook wat naar gezocht en toch kan je het met Zend_Db_Table. Ik schrijf er een tutorial voor, maar je kan alle informatie vinden op de volgende link als je niet kan wachten.
Wat mij opvalt is dat je bij GalleryController::addAction en editAction $this->render(); buiten het else block zet. Maar bij deleteAction plaats je deze erbinnen.
Voor de werking maakt het uiteraart niets uit. Na de _redirect kom je niet meer bij render().
Verder is het niet onbelangrijk om te melden dat je de database configuratie moet doen _voor_ $controller->dispatch();
(hieruit valt op te maken dat ik het fout deed )
Is er een speciale reden waarom de verwerking van een formulier en het afdrukken van een formulier in eenzelfde action staan gedefinieerd? Persoonlijk zou ik de voorkeur hebben voor aparte actions omdat deze beide andere doelen dienen, dus bijvoorbeeld een gallery/add-action voor het afdrukken van het formulier voor het toevoegen van een gallery-item, en een gallery/addProcess-action voor het valideren/verwerken/redirecten van dat formulier.
Ik denk dat deze scheiding de leesbaarheid en het overzicht ten goede komen.
Nadeel is mogelijk wel dat je wat extra moeite moet doen om ingevulde waarden terug te zetten in de invulvelden als blijkt dat het formulier niet goed valideert (tijd voor Zend_Session? ).
In het verlengde hiervan: de form-action kun je in de controller-action meegeven met bijvoorbeeld (in zijn simpelste vorm):
EDIT: naam moet in lowercase :/
_helper->url() voert de direct() methode uit van Zend_Controller_Action_Helper_Url die op zijn beurt de simple()-methode variant van deze klasse aanroept (in de meest recente versie van Zend Framework 1 (op het moment van schrijven 1.12.3)).
Ik denk dat het definieren van de form-action in de controller(action) de meest voor de hand liggende plaats is.
Er zijn vast nog meer/andere "best practises" (ik weet (nog) niet echt of bovenstaande hier ook onder vallen).
Helemaal out of date deze tutorial maar wel een basis. Ik volg de wijzigingen niet meer sinds de release van ZF 2.0. Heb mijn interesses op andere zaken gestort.
Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.