Symfony - Architektura

Symfony to po prostu zbiór wysokiej jakości komponentów i pakietów. Komponenty to zbiór klas zapewniających pojedynczą podstawową funkcjonalność. Na przykład,Cache componentzapewnia funkcjonalność pamięci podręcznej, którą można dodać do dowolnej aplikacji. Komponenty są elementami składowymi aplikacji Symfony. Symfony ma ponad 30 wysokiej jakości komponentów, które są używane w wielu frameworkach PHP, takich jak Laravel, Silex itp.

Pakiety są podobne do wtyczek, ale łatwe do utworzenia i łatwe w użyciu. W rzeczywistości aplikacja Symfony jest sama w sobie pakietem złożonym z innych pakietów. Pojedynczy pakiet może wykorzystywać dowolną liczbę komponentów Symfony, a także komponenty stron trzecich, aby zapewnić funkcje takie jak Webframework, dostęp do bazy danych, itp. Rdzeń sieciowy Symfony to pakiet o nazwie FrameworkBundle i jest pakiet o nazwie FrameworkExtraBundle, który zapewnia bardziej wyrafinowane opcje pisania aplikacji internetowej.

Relacje między składnikami, pakietami i aplikacją Symfony przedstawiono na poniższym diagramie.

Framework sieciowy

Symfony jest przeznaczony głównie do pisania wysokiej jakości aplikacji internetowych ze względną łatwością. Zapewnia różne opcje pisania różnych typów aplikacji internetowych, od prostych witryn internetowych po zaawansowane usługi internetowe oparte na REST. Symfony dostarcza frameworki internetowe jako oddzielne pakiety. Typowe pakiety używane we frameworku sieciowym Symfony są następujące -

  • FrameworkBundle
  • FrameworkExtraBundle
  • DoctrineBundle

Framework sieciowy Symfony jest oparty na architekturze Model-View-Controller (MVC). Model przedstawia strukturę naszych podmiotów gospodarczych. View pokazuje modele użytkownikowi w najlepszy możliwy sposób w zależności od sytuacji. Controller obsługuje wszystkie żądania od użytkownika, wykonuje rzeczywistą pracę, wchodząc w interakcję z modelem, a na koniec dostarcza widokowi niezbędne dane, aby pokazać je użytkownikowi.

Framework sieciowy Symfony zapewnia wszystkie funkcje wysokiego poziomu wymagane dla aplikacji dla przedsiębiorstw. Poniżej znajduje się prosty przepływ pracy aplikacji internetowej Symfony.

Przepływ pracy składa się z następujących kroków.

Step 1 - Użytkownik wysyła żądanie do aplikacji za pośrednictwem przeglądarki, na przykład http://www.symfonyexample.com/index.

Step 2 - Przeglądarka wyśle ​​żądanie do serwera WWW, na przykład serwera WWW Apache.

Step 3 - Serwer sieciowy przekaże żądanie do bazowego PHP, które z kolei prześle je do frameworka internetowego Symfony.

Step 4- HttpKernel jest podstawowym komponentem frameworka internetowego Symfony. HttpKernel rozpoznaje kontroler danego żądania przy użyciu komponentu routingu i przekazuje żądanie do kontrolera docelowego.

Step 5 - Cała logika biznesowa odbywa się w kontrolerze docelowym.

Step 6 - Kontroler będzie współpracował z modelem, który z kolei współdziała z źródłem danych za pośrednictwem Doctrine ORM.

Step 7 - Po zakończeniu procesu kontroler generuje odpowiedź samodzielnie lub za pośrednictwem mechanizmu View Engine i odsyła ją z powrotem do serwera internetowego.

Step 8 - Na koniec odpowiedź zostanie wysłana do żądanej przeglądarki przez serwer WWW.