Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Systemy zarządzania treścią Wykład 5
dr inż. Piotr Czapiewski Systemy zarządzania treścią Wykład 5
2
Zend Framework
3
Web Application Framework
Czym jest framework? Framework (rama projektowa, szkielet) to w programowaniu struktura wspomagająca tworzenie, rozwój i testowanie powstającej aplikacji. Z reguły na framework składają się programy wspomagające, biblioteki kodu źródłowego i inne podobne narzędzia. (Wikipedia)
4
Web Application Framework
W czym może nam pomóc framework? Wzorce projektowe – MVC, Front Controller Narzucona organizacja kodu, struktura projektu – łatwiejsze utrzymanie projektu Wspomaganie typowych zadań związanych z budową aplikacji internetowych (np. walidacja formularzy, autoryzacja) Generowanie kodu, np. formularzy, scaffolding Testowanie Bogate biblioteki dodatkowe
5
Web Application Framework
Popularne frameworki PHP Zend Framework Symfony CakePHP Yii CodeIgniter Kohana Inne popularne frameworki Ruby on Rails (Ruby) Django, Turbo Gears (Python) Spring, Struts, Seam (Java) ASP.NET MVC Catalyst (Perl) Grails (Groovy)
6
Zend Framework Zend Framework
Biblioteka dla PHP 5 wspomagająca produktywność programistów aplikacji internetowych Pełna obiektowość Wsparcie wzorca MVC Bogata dokumentacja Elastyczność – prostota i rozszerzalność Convention over configuration Gotowe, proste rozwiązania dla 80% zadań Łatwa rozszerzalność dla osiągnięcia pozostałych 20%
7
Zend Framework
8
Model View Controller Model Zapewnia dostęp do danych
Zawiera same dane lub mechanizmy dostępu do nich Widok Wyświetla interfejs użytkownika Wyświetla dane pobrane z modelu, przekazane przez kontroler Odpowiedzialny wyłącznie za prezentację informacji Kontroler Przyjmuje żądanie użytkownika, manipuluje modelem, tworzy widok lub powoduje jego odświeżenie Decyduje, jakie operacje wykonać, jakie modele i widoki wywołać
9
Front Controller vs. Page Controller
Rola kontrolera Obsługa żądania HTTP Decyzja – co dalej zrobić z żądaniem? Jakiego użyć modelu i widoku? Dwa wzorce kontroli Page Controller Osobny obiekt kontrolera dla każdej strony lub dla każdej akcji W najprostszym przypadku łączy w sobie role widoku i kontrolera Front Controller Jeden obiekt obsługuje wszystkie żądania Sprawdza parametry żądania i tworzy kolejne obiekty, przekazując do nich sterowanie Scentralizowana obsługa żądań HTTP, łatwiejsze zarządzanie
10
Front Controller HTTP Client HTTP Request HTTP Response
11
Instalacja Zend Framework
12
Instalacja Zend Framework
Zawartość ZendFramework minimal library – pliki tworzące bibliotekę Zend Framework bin – pliki uruchamiane z linii poleceń podczas pracy nad projektem
13
Struktura projektu w ZF
14
Zend Tool Narzędzie do tworzenia projektu, dodawania kontrolerów, akcji, formularzy, itp. Wywoływane z linii poleceń zf.php zf.bat (Widnows) lub zf.sh (Linux) Wymagane php.exe w ścieżce systemowej
15
Tworzenie projektu Wywołanie Zend Tool: Wynik:
zf create project nazwa_projektu Wynik: Struktura katologów Kontrolery: IndexControler ErrorController Widoki: index.phtml error.phtml
16
Budowa kontrolera <?php class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } }
17
Kontrolery i akcje Klasy kontrolera
Klasa kontrolera musi dziedziczyć z Zend_Controller_Action Nazwa klasy powinna kończyć się słowem Controller, np.: IndexController, ErrorController Zachowanie konwencji nazw plików i klas jest konieczne do poprawnego działania aplikacji
18
Widoki Katalog widoków Plik widoku
Widoki odpowiadające kontrolerowi IndexController umieszczamy w katalogu: application/views/scripts/index/ Widok dla akcji indexAction umieszczamy w pliku: index.phtml Plik widoku Zwykły plik PHP – mieszanka HTML i PHP Kod PHP ograniczamy do niezbędnego minimum związanego z wyświetlaniem danych
19
Uruchamianie projektu
Katalog publiczny /public Powinien być jedynym katalogiem udostępnianym przez WWW Początkowo zawiera pliki: .htaccess index.php Wymagane włączenie mod_rewrite na serwerze
20
Plik .htaccess Ustawienie środowiska aplikacji
SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] Ustawienie środowiska aplikacji Włączenie silnika mod_rewrite Przekierowanie wszystkich żądań do index.php
21
Uruchamianie projektu
Adresowanie kontrolerów w URL Załóżmy, że katalog publiczny umieszczony jest na serwerze WWW i widoczny pod adresem: Ścieżka do kontrolera IndexController: Ścieżka do akcji indexAction w kontrolerze IndexController:
22
Uruchamianie projektu
Aplikację uruchamiamy wchodząc na adres katalogu publicznego
23
Przekazywanie danych do widoku
Odebranie danych z żądania HTTP $x = $this->getRequest()->getPost('zmienna'); Dostęp do widoku z poziomu kontrolera: $this->view Ustawienie zmiennej w widoku: $this->view->zmienna = $x;
24
Przekazywanie danych do widoku
controllers/IndexController.php public function indexAction() { $this->view->napis = "Ala ma kota"; } views/scripts/index/index.phtml <h1>Witamy w Zend Framework</h1> <?php echo $this->napis; ?>
25
Literatura Zend Framework Manual http://framework.zend.com/manual/en/
Tomasz Skaraczyński, Andrzej Zoła: PHP5. Programowanie z wykorzystaniem Symfony, CakePHP, Zend Framework. Helion 2009
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.