Mam kilka pytań które nurtują mnie w Zendzie, a jako że dopiero zaczynam swoją przygodę z tym frameworkiem to chciałbym od początku uczyć się dobrych nawyków.
1. Jakie rozszerzenie powinny mieć helpery widoków- php czy phtml? Sprawdzałem oba rozszerzenie i helpery działają tylko z rozszerzeniem php, ale wole się upewnić

2. Chciałbym aby ktoś skomentował czy poniższe rozwiązanie prawidłowo zrobiłem.
Helpera mam w takim katalogu views/helpers/submenuHelper.php, następnie z tego co wyczytałem w dokumentacji to wywołanie helpera odbywa się w pliku widoku, czyli np. views/scripts/index/index.phtml. W tym widoku wywołuje go tak:
<?php ?>
I w layout.phtml wywołuje tą zmienną tak:
<?php ?>
I tutaj zaczynają się problemy, próbowałem wywołać dane z helpera na 3 różne sposoby, ale tylko dwa z nich działają. Klasa helpera wygląda tak:
<?php class Zend_View_Helper_SubmenuHelper extends Zend_View_Helper_Abstract { public function submenuHelper() { // 1 sposób- działa //$this->view->zmienna = 'Teeeest'; //return $this->view->zmienna; // 2 sposób- działa //$this->view->zmienna = 'Teeeest'; // return $this->view->render('index.phtml'); // 3 sposób- nie działa } } ?>
3. Dlaczego 3 sposób nie działa? Gdy w layout.phtml sprawdzam co zwrócił var_dump zmiennej zmienna wyświetla że null?
4. Czy dobrze rozumiem to że w 2 i 3 sposobie przekazuje widok w którym wywołałem helpera tak? Czy jakiś 'trzeci' widok?
5. Helpery widoków służą do łączenia kodu php z kodem HTML? Tzn. czy w nich mogę umieszczać instrukcje warunkowe itp?
Teraz jeszcze mam pytania nie związane z helperami, mianowicie:
6. W książce z której się uczyłem Zenda, autor napisał:
"models/ - Klasy warstwy M zapewniające dostęp do bazy danych"
Czy to znaczy że modele są odpowiedziane tylko za dostęp do bazy danych? W takim razie gdzie powinienem obrabiać dane nie związanie z bazą danych? W kontrolerach?
7. Translacja adresów w Zendzie wygląda tak:
kontroler/akcja/zmienna1/wartosc1/zmienna2/wartosc2
Czy można inaczej ustawić adresy? Np. żeby ostatnia wartość z adresu strony wskazywała na kontroler?
8. Czy istnieje jakaś inna dokumentacja poza tą na stronie Zenda? Jak dla mnie napisana jest ona dosyć chaotycznie i trudno znaleźć to czego się szuka. Najlepszym rozwiązaniem byłby zbiór wszystich klas z wypisanymi metodami i krótkim ich opisem.
Z góry dziękuję za podzielenie się swoją wiedzą.