Zend Framework Tutorial
Chris Shiflett jakiś czas temu opublikował w serwisie php|architect tutorial wprowadzający do Zend Framework. Jest on swego rodzaju wstępem do ZF, przeprowadza on przez proces stworzenia prostej aplikacji PHP przy użyciu frameworka. Zapraszam do przeczytania tutoriala w wersji polskiej.
Zend Framework został opublikowany! Chociaż jest on jeszcze we wczesnym stadium rozwoju, to tutorial pokazuje niektóre z najlepszych obecnie dostępnych rozwiązań i prowadzi przez proces budowy prostej aplikacji.
Zend zdecydował się na wczesne opublikowanie frameworka i zaangażowanie do współpracy społeczności użytkowników. Podobnie tutorial, jest napisany aby pokazać framework w takiej postaci w jakiej istnieje obecnie. Z tego względu, że jest on opublikowany w formie elektronicznej będzie on atualizowany wraz z rozwojem frameworka.
Wymagania
Zend Framework wymaga PHP 5. Aby wykorzystać w pełni kod przedstawiony w tym tutorialu, potrzebujesz także serwera Apache, ponieważ przykładowa aplikacja (system zarządzania newsami) używa mod_rewrite.
Kod aplikacji z tego tutoriala jest dostępny do bezpłatnego ściągnięcia, więc możesz go samodzielnie wypróbować. Możesz ściągąć go ze strony Brain Bulb pod adresem http://brainbulb.com/zend-framework-tutorial.tar.gz.
Ściąganie frameworka
Zanim zaczniesz pracę z tutorialem będziesz musiał ściągnąć opublikowaną wersję frameworka. Możesz to zrobić manualnie odwiedzając stronę http://framework.zend.com/download, a następnie ściągając wersję tar.gz lub zip, albo wpisać w linii poleceń:
$ wget http://framework.zend.com/download/tgz $ tar -xvzf ZendFramework-0.1.2.tar.gz
Zend planuje otwarcie własnego kanału PEAR aby uprościć proces ściągania frameworka.
Gdy już ściągiesz opublikowaną wersję frameworka, znajdź katalog library i umieść go w jakimś wygodnym miejscu. W tym tutorialu zmieniono nazwę tego katalogu na lib aby uzyskać prostą
strukturę katalogów:
app/
views/
controllers/
www/
.htaccess
index.php
lib/
Katalog www jest głównym katalogiem serwera www, katalogi controllers oraz views są obecnie puste, a katalog lib pochodzi ze ściągnietej wersji frameworka.
Na początek
Pierwszy kompenent jaki chciałbym pokazać to Zend_Controller. Jest on fundamentem aplikacji którą tworzysz, jest częścią frameworka dzięki której Zend Framework jest czymś więcej niż tylko zbiorem komponentów. Jednak zanim użyjesz Zend_Controller będziesz musiał przekierować wszystkie przychodzące żądania do jednego skryptu PHP. Ten tutorial używa do tego mod_rewrite.
Użycie mod_rewrite jest sztuką, ale na szczęście jest bardzo proste. Jeśli nie jesteś obeznany z mod_rewrite oraz z samą konfiguracją serwera Apache, utwórz plik .htaccess w głównym katalogu serwera i dodaj do niego następujące dyrektywy:
RewriteEngine on RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
W przyszłości planowane jest usunięcie zależności od mod_rewrite. Jednak aby przykładowa aplikacja działała z opublikowaną wersją frameworka, ten tutorial używa mod_rewrite.
Jeśli dodasz te dyrektywy bezpośrednio w pliku httpd.conf, będziesz musiał zrestartować serwer www. Jeśli dodałeś w pliku .htaccess, to powinno działać od razu. Możesz to w prosty sposób sprawdzić umieszczając w pliku index.php jakiś charakterystyczny tekst, a następnie wykonując żądanie do jakiejś ścieżki na serwerze np. /foo/bar. Przykładowo gdy adresem aplikacji jest http://example.org/ możesz spróbować otworzyć adres URL http://example.org/foo/bar.
Powinieneś także dodać do dyrektywy include_path ścieżkę do katalogu z bibliotekami frameworka. Możesz to zrobić w pliku php.ini lub możesz po prostu dodać taką dyrektywę do pliku .htaccess:
php_value include_path "/path/to/lib"
Zend
Klasa Zend zawiera kolekcję statycznych metod które są uniwersalne i użyteczne. Jest to jedyna klasa ktorą musisz ręcznie załadować:
-
<?php
-
-
include 'Zend.php';
-
-
?>
Kiedy już załadowałeś plik Zend.php, masz dostęp do wszystkich metod klasy Zend. Ładowanie innych klas jest uproszczone dzięki metodzie loadClass(). Na przykład tak możesz załadować klasę Zend_Controller_Front:
-
<?php
-
-
include 'Zend.php';
-
-
Zend::loadClass('Zend_Controller_Front');
-
-
?>
Metoda loadclass() bierze pod uwagę ścieżki z dyrektywy include_path, a także zna organizację i strukturę katalogów frameworka. Używam jej do ładowania wszystkich innych klas.



To miłe, że pofatygowałeś się z przetłumaczeniem tutoriala do Zend Framework. Czytanie tego rodzaju opracaowań jest bardziej przyjazne niż sucha lektura dokumentacji, a czytanie w rodzimym języku to wręcz luksus. Robisz fajną robotę ulatwiajac pierwszy kontakt z tym frameworkiem - mowie tu zarówno o powyższym tekscie, jak i o strone http://zf.naruniec.info/. Tak przy okazji czy to (http://framework.zend.com/developer/changeset/589) tlumaczenie tez jest Twojego autorstwa?