gru 20

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 »

Autor siema \\ tagi: , , , , , , , , , , , , , , ,

wrz 29

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 »

Autor siema \\ tagi: , , , , , ,

wrz 29

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 »

Autor siema \\ tagi: , , , , , , , ,

wrz 29

Ostatnio szukałem elementu dzięki któremu mógłbym wyłączyć całkowicie renderowanie widoku w kontrolerze dla określonej akcji.
Czytaj dalej »

Autor siema \\ tagi: , , , , ,

mar 14

Ostatnio doprowadziła mnie do szału mała błahostka, miałem do policzenia liczbę wierszy wyniku MySQL, było to proste złączenie dwóch tabel. Myślałem, że nie będę miał z tym większego problemu.
Czytaj dalej »

Autor siema \\ tagi: , , , ,


lut 07

Ograniczę się jedynie do prostego przykładu, chociaż wolę wykorzystać do tego celu nie Zendową klasę simplexml_load_file(); Czytaj dalej »

Autor siema \\ tagi: , , , , , , ,

lut 07

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 »

Autor siema \\ tagi: , , , , , , ,

lut 07

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 »

Autor siema \\ tagi: , , ,

lut 07

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 »

Autor siema \\ tagi: , , , ,

lut 07

Moim zdaniem całkiem przydatna funkcjonalność. Załóżmy, że odczytujemy kolejne wiersze naszego zapytania w pętli foreach i chcemy wykonywać na każdym z wierszy wyniku jakieś dodatkowe obliczenia wywołując jakąś dodatkową metodę.
Czytaj dalej »

Autor siema \\ tagi: , , ,

lut 06

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 »

Autor siema \\ tagi: , , , , , , , , , , , ,

lut 06

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 »

Autor siema \\ tagi: , , , , , , ,

lut 06

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 »

Autor siema \\ tagi: , , , , , , , ,

lut 06

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!

Autor siema \\ tagi: , , , , ,

lut 06

Ustalenie domyślnego kontrolera, jest przydatne gdy połączymy to z punktem w którym opisałem “utworzenie domyślnej akcji“.
Czytaj dalej »

Autor siema \\ tagi: , , ,

lut 06

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 »

Autor siema \\ tagi: , , , , ,

lut 06

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 »

Autor siema \\ tagi: , , , , , , , , ,

lut 05

Teraz aby uruchomić nasz projekt wystarczy wydać polecenie http://localhost/nauka_zenda/public. Powinniśmy na ekranie zobaczyć coś podobnego do:
Czytaj dalej »

Autor siema \\ tagi: , , , , , ,

lut 05

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.

Czytaj dalej »

Autor siema \\ tagi: , , , , ,

lut 05

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 »

Autor siema \\ tagi: , , , , ,