Marketing internetowy w praktyce!

Zarejestruj się do bezpłatnej platformy e-learningowej.

Zarejestruj się bezpłatnie

Kanał YouTube – Efektywna firma w necie

Wskazówki, rozmowy, inspiracje

Subskrybuj kanał na YouTube i bądź na bieżąco!

Bezpłatny audyt SEO

Sprawdź, jak Twoja strona radzi sobie w sieci!

Audytuj bezpłatnie
27.11.2014 | czas czytania: 5 min | Web Design | autor: Artefakt

Kontroler w Zend Framework

Kontroler w Zend Framework

Zend Framework jest nowoczesnym narzędziem, silnie zorientowanym obiektowo, które w implementacji bibliotek wykorzystuje obiektowe wzorce projektowe. Zend Framework umożliwia m. in. tworzenie aplikacji w architekturze MVC (Model-Widok-Kontroler).

MVC jest wzorcem projektowym, którego istotą jest oddzielenie warstwy aplikacji od warstwy prezentacji, co realizuje się poprzez podział aplikacji na trzy warstwy:

  • Model – jest częścią aplikacji, która definiuje jej podstawową funkcjonalność. Zazwyczaj jest to logika biznesowa aplikacji oraz procedury dostępu do bazy danych.
  • Widok – definiuje interfejs aplikacji, który jest prezentowany użytkownikowi. Zazwyczaj kontroler przekazuje dane do widoku, który następnie przedstawia je w określonym formacie. Przykładowo strona internetowa zbudowana w oparciu o ten wzorzec projektowy zawiera w widoku znaczniki HTML, podczas gdy widok kanału RSS jest dokumentem XML o ściśle określonym formacie.
  • Kontroler – stanowi warstwę spajającą ze sobą pozostałe warstwy aplikacji. W typowej aplikacji kontroler wykonuje działania na modelu (np. dodawanie, edycję oraz usuwanie), ustala na podstawie żądania HTTP widok do wyświetlenia oraz przekazuje do niego dane pobrane poprzez model danych.

W Zend Framework implementacja kontrolera jest zbiorem klas i interfejsów programistycznych wzajemnie ze sobą powiązanych. Niniejszy artykuł charakteryzuje poszczególne elementy tworzące kontroler w Zend Framework:

 

  • Zend_Controller_Front – implementuje wzorzec projektowy FrontController, w którym wszystkie żądania HTTP odebrane przez serwer WWW przechodzą przez dokładnie jeden obiekt. Takie rozwiązanie zapobiega powielaniu kodu. Jest głównym komponentem kontrolera, który w trakcie działania tworzy instancje pozostałych elementów tworzących kontroler oraz przekazuje do nich sterowanie. Po przekazaniu żądania do aplikacji Zend_Controller_Front ustala wykonawcę akcji (Zend_Controller_Action), do którego następnie deleguje żądanie.
  • Zend_Controller_Request_Abstract – obiekt żądania, reprezentuje środowisko dla żądania, udostępnia interfejs innym obiektom do ustawiania i pobierania nazwy kontrolera i akcji oraz opcjonalnych parametrów żądania. Domyślnie wykorzystywany jest Zend_Controller_Request_Http, który stanowi środowisko dla żądania HTTP.
  • Zend_Controller_Router_Interface – komponent przeznaczony do definiowania adresów aplikacji. Wykorzystywany podczas routingu do ustalenia nazwy kontrolera i jego akcji, do których zostanie przekazane sterowanie. Po zakończeniu routingu nazwa kontrolera i akcji oraz opcjonalne parametry żądania są ustawiane w obiekcie żądania. Domyślnym routerem w Zend Framework jest Zend_Controller_Router_Rewrite. Przykładowo adres domain. com/article/edit/id/10 zostanie zdekomponowany przez wspomniany router w następujący sposób: nazwa kontrolera – article, nazwa akcji – edit, parametr id o wartości 10.

  • Zend_Controller_Dispatcher_Interface – komponent, którego celem jest ustalenie pliku kontrolera, nazwy klasy kontrolera oraz jego metody (akcji) do wywołania. Komponent ten korzysta z informacji zawartych w obiekcie żądania. Domyślnie w tym procesie framework korzysta z klasy Zend_Controller_Dispatcher_Standard. Przykładowo dla kontrolera article i akcji edit nazwa klasy kontrolera i jego metody (akcji) będą miały odpowiednio postać: ArticleController oraz editAction.
  • Zend_Controller_Action – komponent stanowiący wykonawcę akcji, miejsce w aplikacji, gdzie kontroler wchodzi w interakcje z pozostałymi warstwami aplikacji: modelem i widokiem. Każdy kontroler jest pojedynczą klasą dziedziczącą po klasie Zend_Controller_Action i zawiera definicję przynajmniej jednej akcji.
  • Zend_Controller_Response_Abstract – obiekt odpowiedzi, reprezentuje środowisko dla odpowiedzi, pobiera i zwraca odpowiedź z Zend_Controller_Action. Domyślnie wykorzystywanym obiektem odpowiedzi w aplikacjach internetowych jest Zend_Controller_Response_Http przechowujący nagłówki HTTP i treść, które są ostatecznie odbierane np. przez przeglądarkę internetową.

Podsumowując, pomiędzy odebraniem przez serwer żądania HTTP a wysłaniem odpowiedzi ma miejsce szereg czynności wykonywanych przez powyżej opisane komponenty. Zend_Controller_Front po otrzymaniu żądania ustala na podstawie obiektu Zend_Controller_Router_Rewrite wykonawcę akcji – nazwę kontrolera i jego akcji.

Informacja ta jest następnie przekazywana do obiektu Zend_Controller_Dispatcher_Standard, który wywołuje odpowiednią akcję kontrolera. Po wykonaniu akcji sterowanie wraca do obiektu Zend_Controller_Front.

Zapisz się na nasz bezpłatny newsletter i poznaj sprawdzone wskazówki marketingowe!

Pozostałe artykuły

kobieta z laptopem 23.05.2025 | czas czytania: 5:00 min | Web Design

Jaki jest najlepszy program do budowania stron WWW?

Zaczynasz budować stronę internetową i nie wiesz, od czego zacząć? Masz do wyboru dziesiątki narzędzi, ale które z nich naprawdę działa szybko, łatwo i bez konieczności kodowania? W tym artykule pokażemy Ci, jaki program do tworzenia stron WWW sprawdzi się najlepiej.Bez względu na to, czy jesteś przedsiębiorcą, freelancerem czy po prostu chcesz stworzyć własny blog. Przeanalizujemy najpopularniejsze rozwiązania, porównamy ich funkcje i pomożemy wybrać to, które odpowie na Twoje potrzeby. Czytaj więcej
pokój z komputerami 21.05.2025 | czas czytania: 5:00 min | Inne

Hubspot CMS – co to jest?

Możesz zarządzać całą stroną internetową bez znajomości kodowania, a przy tym skutecznie przyciągać klientów i rozwijać swoją markę online? Brzmi jak marzenie? To właśnie oferuje HubSpot CMS. Jest to system zarządzania treścią stworzony z myślą o marketerach i sprzedawcach. Dzięki niemu tworzenie stron, optymalizacja SEO i personalizacja treści stają się dziecinnie proste. Co więcej, wszystko to jest zintegrowane z potężnym CRM, który pozwala śledzić zachowania użytkowników i dostarczać im dokładnie to, czego potrzebują. Zainteresowany? Zobacz, jak HubSpot CMS może odmienić Twoją obecność w sieci. Czytaj więcej
praca IT 19.05.2025 | czas czytania: 5:00 min | Inne

Joomla czy WordPress – co warto wybrać i dlaczego?

Masz pomysł na stronę, ale nie wiesz, na jakim systemie ją postawić? To częsty problem. WordPress i Joomla to dwie popularne platformy, które przyciągają różnymi możliwościami. WordPress kusi prostotą, a Joomla większą elastycznością, ale wybór zależy od Twoich celów i umiejętności. W tym artykule pokażemy, która z nich da Ci więcej korzyści, mniej frustracji i szybszy efekt niezależnie od tego, czy tworzysz blog, sklep, czy stronę firmową. Czytaj więcej

Potrzebujesz skutecznych rozwiązań marketingowych? Masz je na wyciągnięcie ręki. Nasi eksperci czekają na Twój sygnał. Porozmawiamy?

Zamów rozmowę
Kontakt