Lab 4 - Wstęp do Zend Framework
Transkrypt
Lab 4 - Wstęp do Zend Framework
Technologie programowania systemów internetowych Laboratorium 4 Laboratorium 4 – Wprowadzenie do Zend Framework Opis środowiska • Jeśli w katalogu htdocs znajduje się podkatalog zf_lab, a w nim standardowa hierarchia katalogów projektu Zend Framework (katalogi application, library, public, itd.), wówczas projekt dostępny będzie pod adresem: http://localhost/zf_lab/public/ • Biblioteki Zend Framework znajdują się w standardowej ścieżce PHP, nie ma potrzeby umieszczania ich w swoim projekcie. • Z linii poleceń dostępne jest narzędzie Zend Tool – aby sprawdzić jego działanie, uruchom linię poleceń i wydaj komendę: zf show version Powinieneś otrzymać wynik: Zend Framework Version: 1.11.10 Tworzenie projektu – aplikacja: prosty kalkulator 1. W Netbeans stwórz nowy projekt typu: PHP Application. Umieść go w katalogu o nazwie zf_lab. 2. Skonfiguruj opcje uruchamiania projektu (Run Configuration): a. w polu Run As wybierz Local Web Site; b. wskaż właściwy URL projektu: http://localhost/zf_lab/public/; c. pole Index File pozostaw puste. 3. W ostatnim kroku (PHP Frameworks) zaznacz Zend PHP Web Framework. 4. Uruchom nowoutworzony projekt, sprawdź działanie. Technologie programowania systemów internetowych Laboratorium 4 5. Przyjrzyj się utworzonej hierarchii katalogów w projekcie. Sprawdź zawartość katalogów: configs, controllers, views 6. Dwa najważniejsze na tym etapie katalogi to: a. controllers – tutaj znajdą się wszystkie kontrolery naszej aplikacji; b. views – tutaj znajdą się pliki widoków; w podkatalogu scripts znajdą się podkatalogi o nazwach odpowiadających nazwie kontrolera, a w nich pliki o nazwach odpowiadających nazwie akcji; przykłady: Kontroler: index, akcja: index → → plik: /application/views/scripts/index/index.phtml Kontroler: error, akcja: error → → plik: /application/views/scripts/error/error.phtml 7. Otwórz plik widoku /application/views/scripts/index/index.phtml, podmień zawartość na własną, np.: <div> <h1>Witamy w Zendowym Kalkulatorze</h1> </div> Uruchom projekt, sprawdź działanie. 8. W głównej akcji umieścimy formularz, w którym użytkownik wpisze dwie liczby. Dodaj odpowiedni kod do index.phtml: <div> <h1>Witamy w Zendowym Kalkulatorze</h1> <form action="/zf_lab/index/dodaj" method="POST"> <input type="text" name="a"> <input type="text" name="b"> <input type="submit" value="Dodaj"> </form> </div> Uruchom projekt, sprawdź działanie. Zwróć uwagę na formę URL podanego w atrybucie action. Prowadzi on do akcji dodaj w kontrolerze index. 9. Pora dodać akcję obsługującą dane i wykonującą obliczenia. Aby dodać nową akcję o nazwie dodaj w kontrolerze Index, wydaj polecenie: zf create action dodaj Index Możesz to zrobić z poziomu Netbeans: kliknij prawym klawiszem na nazwie projektu, wybierz Zend->Run command…, a następnie wpisz powyższe polecenie. Technologie programowania systemów internetowych Laboratorium 4 10. Przejdź w edytorze do pliku IndexController.php. W pliku powinna być widoczna pusta metoda dodajAction – wypełnij ją poniższym kodem wykonującym obliczenia: public function dodajAction() { $a = $this->getRequest()->getParam('a'); $b = $this->getRequest()->getParam('b'); $c = $a + $b; $this->view->wynik = $c; } Dostęp do parametrów przesłanych w żądaniu (a więc np. danych wpisanych w formularzu) uzyskujemy wywołując metodę getParam: $this->getRequest()->getParam(nazwa parametru) W ostatniej linii przekazaliśmy wynik do widoku: $this->view->wynik = $c; Oznacza to, że w obiekcie widoku dostępne będzie pole o nazwie wynik, zawierające przypisaną tu wartość (wynik dodawania). 11. Dodanie nowej akcji spowodowało także dodanie widoku – nowy plik o nazwie dodaj.phtml powinien zajdować się w katalogu views/scripts/index/. Wypełnij go poniższą treścią: <div> <h1>Witamy w Zendowym Kalkulatorze</h1> <h2>Wynik dodawania: <?php echo $this->wynik; ?> </h2> <a href="/zf_lab/index/index">Jeszcze raz</a> </div> Uruchom projekt, sprawdź działanie. Zadanie 1 1. Dodaj swoją akcję o nazwie powiedzCzesc. Przyjrzyj się, jakie utworzono pliki, jaka jest nazwa metody akcji, a jaka pliku z widokiem. W Zend Framework przyjęto następujące konwencje nazewnictwa: • nazwy kontrolerów, mojaNazwaAkcji; akcji, metod zapisujemy w konwencji camel case, np. Technologie programowania systemów internetowych Laboratorium 4 • nazwy plików widoków oraz ścieżki w URL zapisujemy małymi literami, słowa oddzielając od siebie myślnikiem, np. moja-nazwa-akcji. 2. W kontrolerze, w metodzie powiedzCzescAction(), przygotuj tekst komunikatu do wyświetlenia i przekaż go do widoku: $this->view->komunikat = 'Elo Ziom! (Witam Kolegę - przyp. tłum.)'; W widoku wyświetl przekazany komunikat: <?php echo $this->komunikat; ?> 3. Dodaj link do tej akcji na stronie głównej, pod formularzem. Zadanie 2 1. Usuń link do powiedz-czesc ze strony głównej, zamiast tego dodaj drugi formularz z polem Imię. Formularz ma być wysłany do akcji powiedz-czesc, która wyświetli komunikat 'Cześć' oraz imię wpisane w formularzu, np. ‘Cześć Zdzichu’.