Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Systemy zarządzania treścią Wykład 5

Podobne prezentacje


Prezentacja na temat: "Systemy zarządzania treścią Wykład 5"— Zapis prezentacji:

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


Pobierz ppt "Systemy zarządzania treścią Wykład 5"

Podobne prezentacje


Reklamy Google