dr inż. Piotr Czapiewski
Systemy zarządzania treścią
Laboratorium 7
Laboratorium 7 – Wprowadzenie do Zend Framework
Przygotowanie linii poleceń PHP
1.
Uruchom WebServ, sprawdź zainstalowaną wersję PHP (Prawy klawisz na ikonie WebServ
w zasobniku systemowym,
Informacje
). Jeśli wersja PHP jest mniejsza niż 5.2.5, wyłącz
WebServ i zainstaluj ponownie, wybierając przy instalacji wersję PHP 5.2.5.
2.
Dodaj katalog z PHP (przy standardowej instalacji
C:\Program Files\WebServ\php
)
do ścieżki systemowej, tak by można było korzystać z PHP z linii poleceń – na końcu
zmiennej systemowej PATH dopisz średnik i ścieżkę do katalogu.
3.
Uruchom linię poleceń i wpisz komendę:
php –version
Powinieneś uzyskać wynik zbliżony do tego:
PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
Instalacja Zend Framework
1.
Pobierz pakiet Zend Framework 1.10.2 Minimal ze strony:
http://framework.zend.com/download/current/
Rozpakuj do wybranego katalogu. W katalogu
library
znajdziesz wymagane biblioteki, a
w katalogu
bin
narzędzia wykorzystywane z poziomu linii poleceń.
2.
W katalogu WebServ utwórz podkatalog
includes
i przenieś do niego podkatalog
Zend
.
3.
Zawartość katalogu
bin
przenieś do podkatalogu
WebServ/php
.
4.
Jeśli WebServ nie jest uruchomiony – uruchom.
5.
Przejdź do edycji pliku
php.ini
(prawy klawisz na ikonie WebServ,
Ustawienia
,
PHP
,
Edycja plików konfiguracyjnych
,
php.ini
).
6.
Znajdź linijkę z dyrektywą
include_path
, usuń komentarz. Linijka powinna po zmianie
wyglądać tak:
include_path = ".;C:/Program Files/WebServ/includes"
7.
Zapisz plik konfiguracyjny, zamknij okienko, kliknij OK, poczekaj na restart serwera.
8.
W celu sprawdzenia poprawności instalacji uruchom linię poleceń i wydaj komendę:
zf show version
Powinieneś otrzymać wynik:
Zend Framework Version: 1.10.2
Tworzenie projektu
1.
W linii poleceń przejdź do katalogu
WebServ/httpd
.
2.
Wydaj polecenie tworzenia nowego projektu:
zf create Project zf_lab1
3.
Przyjrzyj się utworzonej hierarchii katalogów w projekcie. Sprawdź zawartość katalogów:
configs
,
controllers
,
views
4.
Dwa najważniejsze na tym etapie katalogi to:
controllers
– tutaj znajdą się wszystkie kontrolery w naszej aplikacji;
dr inż. Piotr Czapiewski
Systemy zarządzania treścią
Laboratorium 7
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:
views/scripts/index/index.phtml
Kontroler:
error
, akcja:
error
, plik:
views/scripts/error/error.phtml
5.
Sprawdź działanie nowego projektu – w przeglądarce wejdź na adres:
http://localhost/zf_lab1/public/
Aplikacja: prosty kalkulator
1.
Uruchom dowolny edytor PHP, np. kED. Przejdź do katalogu z projektem.
2.
Otwórz plik
scripts/index/index.phtml
, podmień zawartość na własną, np.:
<div >
<h1>Witamy w Zendowym Kalkulatorze</h1>
</div>
Uruchom projekt, sprawdź działanie.
3.
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_lab1/public/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.
4.
Pora dodać akcję obsługującą dane i wykonującą obliczenia. Aby dodać nową akcję o nazwie
dodaj
, w linii poleceń przejdź do katalogu
zf_lab1
i wydaj komendę:
zf create action dodaj
5.
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()->getPost('a');
$b = $this->getRequest()->getPost('b');
$c = $a + $b;
$this->view->wynik = $c;
}
dr inż. Piotr Czapiewski
Systemy zarządzania treścią
Laboratorium 7
W ostatniej linii przekazaliśmy wynik do widoku.
6.
Dodanie nowej akcji spowodowało także dodanie nowego 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: <?php echo $this->wynik; ?></h2>
<a href="/zf_lab1/public/index/index">Jeszcze raz</a>
</div>
Uruchom projekt, sprawdź działanie.
7.
W aplikacji użyliśmy bezwzględnych linków (np.
/zf_lab1/public/index/dodaj
),
które są trudne w utrzymaniu. Zamień oba linki (w widoku
index.phtml
oraz
dodaj.phtml
) na wywołanie funkcji pomocniczej url. Jako argumenty przekazujemy
nazwę kontrolera oraz akcji, do której link ma prowadzić, np.:
Zamiast
/zf_lab1/public/index/dodaj:
$this->url(array('controller' => 'index', 'action' => 'dodaj'));
Zadanie 1
1.
Dodaj swoją akcję o nazwie
powiedzCzesc
. Przyjrzyj się, jakie utworzono pliki, jaka jest
nazwa metody akcji, a jaka pliku z widokiem.
2.
W kontrolerze przygotuj komunikat do wyświetlenia, wyświetl go w widoku.
3.
Dodaj link do tej akcji na stronie głównej, pod formularzem. Użyj funkcji pomocniczej url.
Udało się?
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’.