Wzorzec MVC na przykładzie CakePHP

Slides:



Advertisements
Podobne prezentacje
CLIMGEN (generator danych pogodowych w modelu CropSyst.
Advertisements

Wzorce Projektowe Bartosz Baliś, Na podstawie
Projektowanie systemowe
Zaawansowane metody programowania – Wykład V
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
ISOiWUT Internetowy System Oferowania i Wyszukiwania Usług Transportowych.
MS Access 2003 Kwerendy Paweł Górczyński.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Projektowanie Aplikacji Komputerowych
Architektura systemu Gra strategiczna „Strusia Jama”
Model – View - Controler
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Obiektowe metody projektowania systemów
Obiektowe metody projektowania systemów
Diagram czynności (Activity Diagrams)
Wzorce projektowe w J2EE
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
System katalogowania. Opis i architektura.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Inżynieria Oprogramowania
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.
Instytut Tele- i Radiotechniczny WARSZAWA
Projektowanie obiektowe
Generator analizatorów leksykalnych
Technologie tworzenia aplikacji internetowych Wykład 3
Wielozadaniowowść systemu operacyjnego Linux
Promotor: dr.inż. Aleksandra Werner
Wprowadzenie do obsługi programu PowerPoint
Budowa systemu komputerowego
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
System raportowania, ewaluacji oraz badania satysfakcji Klienta.
BAZA DANYCH AMATORSKIEJ DRUŻYNY PIŁKI HALOWEJ
MAKRA 1.
Wzorce slajdów, animacje, różne orientacje slajdów
Model – View – View Model
Przeglądanie zasobów komputera - uruchamianie programów
Wybrane zagadnienia relacyjnych baz danych
Systemy Zarządzania Bazami Danych Laboratorium 05 Widoki i eksport tabel/widoków 1.
MICROSOFT Access TWORZENIE MAKR
Zawansowane techniki programistyczne
Systemy zarządzania treścią Wykład 5
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Modelowanie obiektowe Diagramy klas
Wzorce slajdów programu microsoft powerpoint
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Toruń 28/ Metadane SAML opisują, w jaki sposób ma być realizowana komunikacja pomiędzy IdP i SP Metadane są typowo prezentowane w postaci XML.
Wzorce oprogramowania
Walidacja danych alina suchomska.
HTML (ang. HyperText Markup Language ) – język do tworzenia stron internetowych opierający się na znacznikach, czy inaczej je nazywając – tagach. Język.
Wzorce slajdów, animacje, różne orientacje slajdów
Projektowanie relacyjnych baz danych – diagramy związków encji
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
Podstawy języka skryptów
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Paweł Starzyk Obiektowe metody projektowania systemów
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.
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
T ABELE PRZESTAWNE Daniel Galion. C O TO SĄ TABELE PRZESTAWNE I W JAKIM CELU SIĘ ICH UŻYWA ? Normalna tabela często zbyt mało czytelna ciężej znaleźć.
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.
Istotą kolumn jest przedzielenie strony na kilka części położonych obok siebie. Ilość kolumn jest generowana przez użytkownika, odpowiednio dla jego potrzeb.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Implementacja wzorca MVVM w Prism 5.0
Wzorzec MVC Model View Controller
Tworzenie stron WWW w programie Microsoft FrontPage
Zapis prezentacji:

Wzorzec MVC na przykładzie CakePHP Kamil Chaciak

Czym jest wzorzec architektoniczny? Wzorzec architektoniczny jest uznanym i sprawdzonym sposobem rozwiązania danego problemu z zakresu architektury oprogramowania. Wzorce architektoniczne określają ogólną strukturę danego systemu informatycznego, elementy z jakich się składa, zakres funkcji realizowany przez dany element jak również zasady komunikacji pomiędzy poszczególnymi elementami.

Model-View-Controler (MVC) Multi tier architecture Three tier architecture Presentation-abstraction-control Blackboard system Service Oriented Architecture (SOA) Peer-to-peer (P2P) Implicit invocation Pipeline Naked objects

MVC – Model View Controller Służy do organizowania struktury aplikacji posiadających graficzne interfejsy użytkownika. Wiele prac traktuje go jako pojedynczy wzorzec, lecz może on być także traktowany jako złożony wzorzec wykorzystujący idee wzorców prostych, takich jak Obserwator, Strategia czy Kompozyt. MVC nie był traktowany jako samodzielny wzorzec również w pracy „Design Patterns: Elements of Reusable Object-Oriented Software“ autorstwa „Bandy Czworga”.

Model-View-Controller zakłada podział aplikacji na trzy główne warstwy: Model – jest pewną reprezentacją problemu bądź logiki aplikacji. Kontroler – przyjmuje dane wejściowe od użytkownika i reaguje na jego poczynania, zarządzając aktualizacje modelu oraz odświeżenie widoków. Widok – opisuje, jak wyświetlić pewną część modelu w ramach interfejsu użytkownika. Może składać się z podwidoków odpowiedzialnych za mniejsze części interfejsu.

Modele Modele są reprezentowane przez klasy, tworzące całą warstwę. Powinny być responsywne, na zarządzanie prawie wszystkim dotyczącym danych, między innymi walidacją, zapisywaniem, edycją. Model ten jest podzielony na tabele (table) i encje (entity). Encja reprezentuje obiekt danej tabeli. Jej podstawową cechą jest to, że jest rozróżnialna od innych encji.

Klasy modeli w CakePHP wykorzystują wiele ciekawych funkcji, które pomagają wyciągnąć z bazy interesujące nas rekordy. Mamy też możliwość sortowania, paginacji i filtrowania danych. Najcześciej używa się funkcji find(string $type = 'first', array $params =array()). Dzięki niej możemy pobrać interesujące nas rekordy.

Kontrolery Kontrolery są pośrednikami między modelami a widokami, a nawet między użytkownikiem a widokami i modelami. Zadaniem kontrolera jest odbiór, przetworzenie oraz analiza danych wejściowych od użytkownika. Po przetworzeniu odebranych danych kontroler może wykonać następujące czynności: zmienić stan modelu, odświeżyć widok, przełączyć sterowanie na inny kontroler. Każdy kontroler posiada bezpośrednie wskazania na określone modele i widoki, z którymi współpracuje, a jednocześnie w aplikacji może istnieć wiele kontrolerów. W danym momencie tylko jeden z nich steruje aplikacją.

W CakePHP głównym kontrolerem naszej aplikacji jest klasa AppController, po której dziedziczą wszystkie inne kontrollery. Funkcje w kontrolerach są nazywane akcjami, aby wykorzystać akcję danego kontrolera, należy w adresie umieścić nazwę kontrolera i akcji np. www.przykład.pl/kontroler/akcja. Po wejściu na powyższy adres, CakePHP zacznie przeszukiwać kontroler w poszukiwaniu akcji, którą ma wykonać.

Widoki Widok jest odpowiedzialny za prezentację danych, otrzymanych od kontrolera, w obrębie graficznego interfejsu użytkownika. Może składać się z podwidoków zarządzających mniejszymi elementami składowymi. Przeważnie są to generowane strony w formie HTML, XML lub JSON, ale można też wygenerować plik PDF.

CakePHP zapewnia różne Helpery i funkcje ułatwiające generowanie, stron. Nazwa pliku z widokiem powinna być taka sama jak nazwa akcji. Gdyż CakePHP ma domyślnie ustawione renderowanie plików o takich nazwach. Można to jednak zmienić w kontrolerze. Cake posiada oddzielne foldery na widok akcji poszczególnych kontrolerów i pliki definiujące główny układ strony.

Layout Layout czyli układ strony zawiera kod, który „owija” się wokół widoku. Wszystko co powinno byc dostępne w każdym z widoków powinno tu być umieszczone. To który układ chcemy wybrać, należy ustawić w kontrolerze.

Dziękuję za uwagę https://book.cakephp.org/3.0/en/index.html https://pl.wikipedia.org/wiki/Model-View-Controller