Ile razy tworzyłeś nowy projekt na bazie Zend Frameworka? W moim wypadku odpowiedź brzmi: wiele razy.
Za każdym razem zastanawianie się co skopiować, jakie podstawowa wersje plików zostawić, no i trzeba od nowa stworzyć hierarchię katalogów.
Do tej brudnej roboty mamy od wersji Zend Framework 1.8 pomocnika – Zend_Tool i trochę zmienione podejście co do bibliotek ZF.
Aktualnie (w Zend Server w standardzie) zaleca się posiadanie jednych źródeł Zend Framework na maszynę, a nie jak było wcześniej kopiowaliśmy te kilkanaście MB do każdego projektu. Dostosujmy naszą maszynę developerską do pracy z jedną wersją ZF. Poniżej w bardzo skróconej wersji przedstawię Wam jak zainstalować ZF i stworzyć jedną linijką poleceń cały nowy projekt oparty o Zend Framework.
Najpierw musimy sprawdzić, jaki include_path posiada nasz PHP:
1 2 |
matipl@hobbiton:~$ php -i | grep include_path include_path => .:/usr/share/php:/usr/share/pear => .:/usr/share/php:/usr/share/pear |
Jeśli powyższe polecenie (php -i) nie działa, musimy zainstalować konsolowego klienta PHP (często paczka php-cli).
Widzimy powyżej, że PHP przetrzymuje ładowane pliki w /usr/share/php. Ściągamy aktualna wersję ZF i rozpakowujemy z niej katalog library/Zend do /usr/share/php/Zend. Fanstatycznie, możesz teraz pozbyć się z każdego projektu osobnej kopii ZF.
Następnym krokiem jest sprawienie, aby automagiczny skrypt Zend Frameworka działał nam z konsoli.
W moim wypadku (Debian) posiadam katalog /usr/lib/php5, gdzie skopiowałem z paczki ZF 2 pliki:
- bin/zf.php
- bin/zf.sh
Abyśmy mogli posługiwać się skryptem „zf” bez podawania zbędnej ścieżki gdzie się znajduje musimy stworzyć link symboliczny:
1 |
ln -s /usr/lib/php5/zf.sh /usr/bin/zf |
Teraz w dowolnym miejscu naszego systemu będziemy mogli posługiwać się poleceniem „zf”, tworząc np. nowy projekt. Ale najpierw sprawdźmy czy wszystko działa poleceniem sprawdzającym wersję Zend Framework:
1 2 |
matipl@hobbiton:~$ zf show version Zend Framework Version: 1.9.1 |
Jeśli widzimy powyższy komunikat (ew. z inną wersją) to wszystko działa i możemy przejść do stworzenia naszego projektu. Posługujemy się do tego naszym skryptem:
1 2 |
matipl@hobbiton:/home/services/httpd/_dev.matipl.pl$ zf create project test Creating project at /home/services/httpd/_dev.matipl.pl/test |
Tak oto stworzyliśmy w pełni funkcjonalny projekt oparty o Zend Framework. Możemy do niego w jednej shella linijce dodać np. nowy kontroler wraz z potrzebnym widokiem:
1 2 3 4 5 6 7 |
matipl@hobbiton:/$ cd test.dev.matipl.pl matipl@hobbiton:/test.dev.matipl.pl$ zf create controller contact Creating a controller at /test.dev.matipl.pl/application/controllers/ContactController.php Creating an index action method in controller contact Creating a view script for the index action method at /test.dev.matipl.pl/application/views/scripts/contact/index.phtml Creating a controller test file at /test.dev.matipl.pl/tests/application/controllers/ContactControllerTest.php Updating project profile '/test.dev.matipl.pl/.zfproject.xml' |
W ten oto sposób mamy stworzoną podstronę Contact i możemy od razu sprawdzić czy działa wchodząc na nasza-maszyna.com/contact
Dostępne polecenia zf: create [view,controller,action,module].
Osobiście na razie korzystam tylko z automatycznego tworzenia nowego projektu, jakoś nie mogę się przekonać do korzystania z konsolki do rozbudowy projektu.