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

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Programowanie obiektowe
Decyzje projektowe w .NET Framework
WEB SERVICE Stefan Rutkowski.
Uwierzytelnianie i autoryzacja dostępu do portali
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
Architektura systemu Gra strategiczna „Strusia Jama”
Model – View - Controler
ROZWÓJ APLIKACJI PRZY WYKORZYSTANIU ZEND Jakub Lesiński IV EMII.
Wzorce projektowe w J2EE
Paweł Fałat Katedra Informatyki Stosowanej
System katalogowania. Opis i architektura.
Company LOGO Zastosowanie silnika do tworzenia gier.
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Rozwój aplikacji przy wykorzystaniu ASP.NET
Aplikacje Internetowe
Systemy zarządzania treścią Wykład 1
Architektura Systemu MunSOL
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
O Rubym słów kilka… Simple Pinger O mnie: Maciej Mensfeld ruby
Adrian Bareja, I EMiI II st.. Ruby Rails MVC (Model-View-Controller) Model Widoki Kontrolery.
Instytut Tele- i Radiotechniczny WARSZAWA
Projektowanie obiektowe
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Podstawy programowania II
Technologie tworzenia aplikacji internetowych Wykład 3
Promotor: dr.inż. Aleksandra Werner
Wprowadzenie do obsługi programu PowerPoint
Lokalne serwery www Serwer WWW - ang. Web server jest to oprogramowanie zainstalowane na serwerze podłączonym do sieci Internet. Używające technologii.
Magdalena kurzyńska Sławomir Kwasiborski
Programowanie obiektowe – zastosowanie języka Java SE
Model – View – View Model
Przeglądanie zasobów komputera - uruchamianie programów
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
ZAKŁAD SYSTEMÓW KOMPUTEROWYCH
SOS SYSTEM OBSŁUGI SZKOŁY
Cacti Krzysztof Goławski.
System do zarządzania i ewidencji dokumentów.
Podstawy programowania
SSWiN SAP CCTV Kontrola dostępu
Jak przeżyć w Internecie? Czyli o bezpieczeństwie słów kilka… Michał Jankowski MJ Software Solutions Services.
Walidacja danych alina suchomska.
Temat 2: Instalacja Apache, PHP i bazy danych MySQL.
Temat 1: Ogólne cechy języka PHP
Technologie programowania systemów internetowych
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Podstawy języka skryptów
Forum Pracodawców AEiI 2015 Wydział Automatyki, Elektroniki i Informatyki Gliwice, 11 marca 2015r.
Programowanie w językach skryptowych
Zakres Wzorce projektowe - kreacyjne -Factory Method -Abstract Factory.
Wzorce Projektowe w JAVA
Dr inż. Piotr Czapiewski. Framework (rama projektowa, szkielet) to w programowaniu struktura wspomagająca tworzenie, rozwój i testowanie powstającej.
Podstawy programowania
Moduł e-Kontroli Grzegorz Dziurla.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Politechnika Warszawska Wydział Elektryczny Kierunek: Informatyka stosowana Praca dyplomowa inżynierska Aplikacja do kontroli wydajności produkcji w.
Eclipse jako środowisko IDE do programowania w Javie Java IDE Bartosz.Michalik
Wyższa Szkoła Informatyki i Zarządzania W Bielsku-Białej Kierunek informatyka Specjalność : Systemy informatyczne Praca dyplomowa inżynierska : System.
Wzorzec MVC na przykładzie CakePHP
Podstawy tworzenia skryptów
Programowanie obiektowe – zastosowanie języka Java SE
Windows Workflow Foundation
Podstawy programowania
Zapis prezentacji:

Systemy zarządzania treścią Wykład 5 dr inż. Piotr Czapiewski Systemy zarządzania treścią Wykład 5

Zend Framework

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)

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

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)

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%

Zend Framework

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ć

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

Front Controller HTTP Client HTTP Request HTTP Response

Instalacja Zend Framework

Instalacja Zend Framework Zawartość ZendFramework-1.10.2-minimal library – pliki tworzące bibliotekę Zend Framework bin – pliki uruchamiane z linii poleceń podczas pracy nad projektem

Struktura projektu w ZF

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

Tworzenie projektu Wywołanie Zend Tool: Wynik: zf create project nazwa_projektu Wynik: Struktura katologów Kontrolery: IndexControler ErrorController Widoki: index.phtml error.phtml

Budowa kontrolera <?php class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } }

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

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

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

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

Uruchamianie projektu Adresowanie kontrolerów w URL Załóżmy, że katalog publiczny umieszczony jest na serwerze WWW i widoczny pod adresem: http://localhost/zf_zpsb_01/public/ Ścieżka do kontrolera IndexController: http://localhost/zf_zpsb_01/public/index/ Ścieżka do akcji indexAction w kontrolerze IndexController: http://localhost/zf_zpsb_01/public/index/index

Uruchamianie projektu Aplikację uruchamiamy wchodząc na adres katalogu publicznego http://localhost/zf_zpsb_01/public/

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;

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; ?>

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