Kategoria: PHP, WWW, HTML/CSS, CMS, front-end
Ekosystem PHP był do niedawna kojarzony z obfitością różnych frameworków i bibliotek. W miarę dojrzewania platformy spośród bibliotek wyłoniła się niewielka grupa wyraźnych technologicznych liderów – wśród nich Symfony, Laravel czy Phalcon. Intensywne zmiany w samym PHP prowadzą do konieczności wypuszczania kolejnych wersji popularnych wśród programistów frameworków. Bez przesady można powiedzieć, że znajomość Symfony i jego idiomów jest jedną z kluczowych kwalifikacji nowoczesnego programisty PHP.
Symfony to nie tylko jeden z najpopularniejszych frameworków do tworzenia współczesnych aplikacji webowych w PHP, ale także kompleksowa architektura, której założeniami są:
- użycie composera do budowania aplikacji i zarządzania autoloadingiem,
- sposób modularyzacji aplikacji i konfigurowania modułów,
- użycie wstrzykiwania zależności,
- użycie biblioteki Twig do obsługi warstwy widoku,
- użycie biblioteki Doctrine do obsługi baz danych,
- użycie wbudowanych w Symfony mechanizmów do obsługi formularzy.
Nasze szkolenie obejmuje wszystkie wymienione wyżej elementy – a także pokazuje, w jaki sposób współdziałają one w gotowej aplikacji. Oprócz praktycznych wskazówek, udzielonych przez zawodowych programistów wykorzystujących Symfony w codziennej praktyce, podczas szkolenia przekazana zostaje wiedza teoretyczna: wzorce projektowe i uzasadnienia decyzji architektonicznych podjętych przez twórców frameworka. Zrozumienie głębszych mechanizmów i filozofii Symfony sprawia, że uczestnicy szkolenia nie tylko nauczą się tworzyć nowoczesne aplikacje webowe, ale i będą potrafili dostosować je do zmian niesionych przez zapowiedziane przyszłe wersje frameworka.
Szkolenia prowadzimy na ostatniej stabilnej wersji LTS tego frameworka. Na życzenie Zamawiającego możliwe jest przeprowadzenie na innej wersji Symfony.
Czas trwania
4 dni
Program
- PHP w nowoczesnych aplikacjach webowych – wprowadzenie
- Obiektowość i MVC
- Architektura aplikacji webowych
- Podstawowe praktyki i koncepcje organizacji kodu
- Symfony z lotu ptaka
- Architektura standardowej aplikacji
- Fundamentalne i akcydentalne elementy (Request, Response, HttpKernel, Controller, Service Container)
- Modularność, najczęściej używane bundle
- Instalacja i konfiguracja typowej aplikacji Symfony, użycie narzędzia composer oraz konsoli Symfony
- Implementacja standardów PSR i dobre praktyki związane z formatowaniem kodu
- Podstawowe składniki aplikacji
- Silnik szablonów Twig
- szablony, dziedziczenie szablonów
- tagi i filtry; tworzenie własnych rozszerzeń Twiga
- Organizacja szablonów
- Routing i kontrolery
- wywoływanie akcji: URL i parametry
- usługi udostępnione przez standardowy kontroler
- obsługa sesji, zwykłej i typu flash;
- forwarding i przekierowanie
- wyświetlanie szablonów
- wyświetlanie odpowiedzi w innych formatach (JSON, XML)
- obsługa błędów
- Uruchamianie aplikacji na serwerze wbudowanym i lokalnym
- Dobre praktyki związane z przechowywaniem plików statycznych (js, css, obrazki)
- Omówienie różnic trybów działania aplikacji (dev, prod)
- System zdarzeń
- Dostępne zdarzenia
- Listenery i Subscribery
- Zdarzenia związane z obsługą encji
- Silnik szablonów Twig
- Formularze i walidacja
- Walidacja danych
- formularz i model formularza; FormBuilder i schemat typowego użycia formularzy
- wbudowane i własne typy pól (e.g. pola tekstowe, guziki, kalendarz, pola wyboru…)
- integracja walidacji i formularzy: obsługa formularza, zgadywanie typu pola;
- integracja Twiga i formularzy: helpery formularza i własne tematy, wyświetlanie formularza automatyczne lub ręczne,
- złożony model: formularze wbudowane, kolekcje formularzy wbudowanych, transformacje modelu;
- dynamicznie modyfikowalny formularz
- zabezpieczenie przeciwko CSRF
- Uwierzytelnienie i autoryzacja
- konfiguracja uwierzytelnienia – użytkownicy, grupy, role
- dostęp do modułów aplikacji: zabezpieczanie ścieżek, metod, kontrolerów
- dostęp do konkretnych danych
- podstawowe strategie ACL (Access Control Lists) i Voters
- Doctrine
- różne modele ORM i ich konsekwencje: Active Record kontra Transparent Persistence;
- model pracy, wzorce projektowe (unit of work, identity map, repository / dao)
- konfiguracja i integracja z własnym projektem
- sposoby generacji encji
- ręczne tworzenie i poprawianie mappingów:
- encje, klucze główne (proste i złożone), generatory kluczy głównych
- pola typu prostego i asocjacje: asoscjacje jedno- i dwukierunkowe, strona nadrzędna i podrzędna
- podstawy pracy z encjami: dodawanie, usuwanie, modyfikacja danych w bazie
- kwerendy: Doctrine Query Language, Criteria, repozytoria
- Wydajność i optymalizacja – leniwe oraz gorliwe wczytywanie relacji, doczytywanie danych kwerendami i relacjami, strategie stronicowania, kaskadowanie operacji
- Sposoby przygotowania danych testowych (DoctrineFixtures i Faker)
- Zagadnienia zaawansowane
- rejestracja i wykorzystywanie serwisów, Service Container; alternatywne techniki: YAML, XML, PHP
- Expression Language
- serwisy i ich zależności – dependency injection (constructor, setter, property)
- serwisy w funkcji kontrolerów
Training also available in English - for more information see here.
Przeznaczenie i wymagania
Szkolenie przeznaczone jest dla programistów PHP mających pewną swobodę w użyciu podstawowych elementów tego języka, a także znajomość składni klas, metod tworzenia obiektów oraz przestrzeni nazw; niezbędna jest znajomość podstaw HTML, CSS i SQL, natomiast nie jest potrzebna umiejętność zaawansowanego programowania obiektowego ani znajomość wzorców projektowych.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.