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 4 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 2 do obsługi baz danych,
- użycie wbudowanych w Symfony 4 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 4 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.
Szkolenie prowadzimy na Symfony 4.4 LTS – stabilnej, wspieranej do listopada 2022 roku.
Czas trwania
4 dni
Program
- PHP w nowoczesnych aplikacjach webowych – wprowadzenie
- Obiektowość i MVC
- Architektura aplikacji webowych
- Podstawowe praktyki i koncepcje organizacji kodu
- Symfony 4 – 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 4, 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 2
- 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.
Zobacz też:
- Tworzenie stron WWW (kurs zawodowy - bootcamp)
- Tworzenie stron WWW wersja podstawowa (HTML, CSS, grafika, Bootstrap) (kurs zawodowy - bootcamp)
- Programista JavaScript (kurs zawodowy - bootcamp)
- Zaawansowany Programista JavaScript (kurs zawodowy - bootcamp)
- Programista PHP (kurs zawodowy - bootcamp)
- Zaawansowany programista PHP (kurs zawodowy - bootcamp)
- Tworzenie stron WWW dla młodzieży (kurs zawodowy - bootcamp)
- Wordpress CMS
- CMS Joomla
- Javascript i JQuery (podstawy)
- Programowanie w JavaScript dla specjalistów IT (przekrojowe)
- Wstęp do React
- React dla specjalistów IT
- Angular
- AngularJS 1.X
- Actionscipt3 / Flash dla programistów
- PHP - intensywne szkolenie dla programistów innych języków
- Symfony2 - przygotowanie do egzaminu certyfikacyjnego
- Laravel - PHP Framework
- Wzorce projektowe w środowisku PHP
- Zend Framework. Nowoczesne programowanie obiektowe w PHP
- Egzamin Zend Certified Engineer - kurs uzupełniający
- Zend Framework - szkolenie uzupełniające do egzaminu ZFCE