Ostatnio zauważyłem ciekawy fragment kodu umieszczony w pliku boostrap.php. Uznałem go za całkiem ciekawy i godny uwagi przykład. Poniższy fragment kodu pokazuje jak w Zendzie zrealizować ruting, lub mówiąc inaczej pewne przekierowania i przyjazne linki. Jak dla mnie fajna sprawa. Wpakuję poniżej kilka linii kodu naraz i każdą opiszę z osobna. Resztę sobie sam przetestujesz metodą prób i błędów.
Czytaj dalej »
Renderowanie widoku do zmiennej poza kontrolerem
Napisałem sobie klasę wysyłającą e-maile. Korzysta ona oczywiście z Zend_Email, do klasy trzeba przekazać treść e-maila który chcemy wysłać. Tutaj pojawił się problem – chciałem aby treścią meila był widok odpowiednio przeparsowany. Ale jak przeparsować widok zapisać do zmiennej i wysłać.
Czytaj dalej »
Kolejny banalny element który opisuję ale może komuś się przyda. Ostatnio Wymyśliłem sobie klasę która na podstawie nazwy kontrolera i akcji sprawdza uprawnienia użytkownika. W tym celu w samej klasie potrzebowałem pobrać nazwę kontrolera oraz akcji.
Czytaj dalej »
Zend i odczyt kanałów RSS
Ograniczę się jedynie do prostego przykładu, chociaż wolę wykorzystać do tego celu nie Zendową klasę simplexml_load_file(); Czytaj dalej »
Bardziej skomplikowane projekty w zrobione w Zend Framework często używają zewnętrznych klas lub modułów, jak zrobić automatyczne ładowanie dodatkowych klas do naszego projektu, omówię dwa przypadki, niemalże identyczne. Czytaj dalej »
Odczyt parametrów jest banalny Zend Framework nie rozróżnia czy parametr znajduje się w zmiennej POST czy GET gdyż w obu przypadkach wykonujemy tą samą metodę aby pobrać parametr, przykład poniżej:
Czytaj dalej »
Pytanie po co obsługiwać sesję ze pomocą Zenda, w sumie po nic, ale Zend udostępnia kilka ciekawych bajerów które można zrobić z sesją.
Czytaj dalej »
Zend Framework dostarcza szybkich i prostych metod operowania na danych zawartych w bazie, są to insert(), fetchAll(), fetchRow(), update(); Na razie skupię się tylko na tych podstawowych elementach, w przyszłości będę pewnie stopniowo rozbudowywał ten dział.
Czytaj dalej »
Każda tabela w bazie danych ma swój odpowiednik w postaci pliku zawarty w folderze application/models, wspominałem o tym poprzednio – dobrą metodą jest nazywać pliki tak samo jak nazywają się tabele w bazie, pliki jednak muszą być z dużej litery. Przykładowo dla tabeli guestbook, plik powinien się nazywać Guestbook.php, a przykładowa klasa powinna wyglądać tak:
Czytaj dalej »
Aby przygotować połączenie z bazą danych należy zmodyfikować plik application.ini, oraz Bootstrap.php
Poniżej przykładowy plik application.ini, istotne elementy zaznaczyłem kolorem czerwonym.
Czytaj dalej »
Aby ustawić bazę danych dla Zend Framework wystarczy skonfigurować plik application.ini oraz stworzyć odpowiednie klasy modelu. Przedstawię tu konfigurację dla MySql. Dodatkowo w Bootstrap.php dobrze jest dopisać kawałek kodu umożliwiający automatyczne ładowanie klas naszego modelu, aby nie trzeba było dołączać ich ręcznie. Odpowiada za to metoda przedstawiona poniżej _initAutoload(). Oczywiście nazwa metody jest dowolna, ważne aby zaczynała się od znaku _ gdyż wszystkie metody o takich nazwach są automatycznie uruchamiane.
W moim projekcie ostatnim metoda ta wyglądała tak:
protected function _initAutoload() {
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => dirname(__FILE__),
));
$autoloader->addResourceType( 'modules', 'modules', 'Module_' );
return $autoloader;
}
Z kawałka tego kodu wynika, że wszystkie klasy muszą znajdować się w folderze application/modules a nazwy tych klas muszą być poprzedzone słowem Module_ np. Class Module_Common { }, plik musi nosić nazwę Common.php wielkość liter z tego co zaobserwowałem jest istotna!
Przekierowanie do innej akcji
Przekierowanie jest przydatne gdy w jednej z akcji chcemy wywołać cały kod innej, aby tego nie kopiować możemy wewnątrz metody danej akcji wywołać metodę _forward()
Czytaj dalej »
Bootstrap, jest klasą w której możemy zdefiniować pewne elementy inicjujące naszego projektu. Zawarta jest ona w pliku application/Bootstrap.php.
Czytaj dalej »
Po instalacji Zend Framework automatycznie tworzy plik konfiguracyjny application.ini, zawarty jest on w folderze application/configs/application.ini. Przykładowy plik konfiguracyjny wygląda tak i oczywiście może on być modyfikowany w zależności od potrzeb. Na tym etapie skupię się tylko na prostych modyfikacjach aby nie zaciemniać sprawy. Modyfikacje zostały wyróżnione kolorem czerwonym:
Czytaj dalej »
Teraz aby uruchomić nasz projekt wystarczy wydać polecenie http://localhost/nauka_zenda/public. Powinniśmy na ekranie zobaczyć coś podobnego do:
Czytaj dalej »
Po instalacji pakietu XAMPP dobrze jest określić ścieżkę PATH do interpretera PHP, po to abyśmy mogli wywołać go bezpośrednio z konsoli gdyż Zend oferuje nam plik wsadowy dzięki któremu możemy szybko tworzyć struktury nowych projektów. Dla początkujących jest to idealne rozwiązanie, gdyż cała struktura katalogów jest już gotowa.
Domyślnie budowa linku w Zend Framework jest mniej więcej taka. Najpierw pobierana jest nazwa kontrolera a potem nazwa akcji a na końcu przekazane są parametry wraz z ich wartościami.
Czytaj dalej »
Przed instalacją i konfiguracją należy najpierw pobrać jedną z dostępnych wersji Zenda. Do wyboru mamy wersję pełną lub minimalną. Przypuszczam, że na tym etapie wystarczy nam wersja minimalna.
Czytaj dalej »
Kilka słów o tym jak zrozumieć Zend Framework, o tym jak ja go rozumiem. Z racji tego, że jestem początkującym więc przedstawię rozwiązanie swoich problemów. Czytaj dalej »