Zend Framework
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
– v preDispatch() můžeme například akci přeskočit pomocí _forward()
pokud nejsme přihlášeni
Automatická injekce view se stejným názvem jako
je action. View je dostupné pod $this->view
Controller
Controlle - View
Vie
View je zavolána po volání metody render
– string render(string $action = null,
string $name = null,
bool $noController = false);
– pokud neřekneme jinak, je voláno view daného kontroleru a dané
akce
Mapování:
Mapování
views/scripts/[controller]/[action].phtml
– pozor: znaky . a _ jsou převedeny na znak –
Controller
Controlle – forward
forwar a
a redirect
redirec
Metody pro předání na jinou action
_forward předá v rámci řetězce dispatch
_redirect odešle hlavičku s kódem typicky 302
Response objekt
Response objek
normálně ho nemusíme používat
controller do něj zapisuje
my můžeme využívat např. metod
– setHeader, setRedirect, getHeaders, cleanHeaders ,(
Zend
Zen _Form
For
Objektová podpora pro tvorbu formulářů
Formulář je reprezentován objektem, který dědí z
třídy Zend_Form
Každá formulářová položka má svojí třídu
– Zend_Form_Element_Text,
– Zend_Form_Element_Textarea
– Zend_Form_Element_Textare
– Zend_Form_Element_...
Položky mají API odpovídající jejich funkčnosti
class Forms_Address extends Zend_Form {
public function init() {
$this->setMethod('post');
$nameElement = new Zend_Form_Element_Text("jmeno");
$nameElement->setLabel('jmeno');
$nameElement->setValue('jmeno');
$this->addElement($nameElement);
}
}
Kontroler
Kontrole využívá formulář
využívá formulá
AddressController, newAction
public function newAction() {
$request = $this->getRequest();
$form = new Forms_Address();
// prirazeni vlastnosti k view
$this->view->form = $form;
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
// udelame něco s daty a podekujeme
return $this->_helper->redirector('thankyou');
}
}
}
Zavolá akci
thankyou
View
Vie
V nejjednodušším případě necháme formulář