Framework Symfony
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
Program szkolenia
Dzień 1: Wprowadzenie do Symfony
Godzina 1-2: Historia i przegląd Symfony, wstęp do MVC w Symfony
- Historia Symfony: Przegląd genezy i rozwoju Symfony.
- Wprowadzenie do MVC: Omówienie wzorca architektury Model-View-Controller w kontekście Symfony.
Godzina 3: Konfiguracja środowiska Symfony z użyciem Composer
- Instalacja Symfony: Krok po kroku instalacja i konfiguracja Symfony.
- Omówienie struktury katalogów: Zrozumienie organizacji projektu Symfony.
- Composer i zarządzanie zależnościami: Podstawy używania Composera w projektach Symfony.
Godzina 4: Podstawy Symfony: routing, kontrolery
- Routing: Definiowanie tras i ich obsługa w Symfony.
- Kontrolery: Wprowadzenie do kontrolerów w Symfony i ich zastosowanie.
Godzina 5: Widoki i szablony w Symfony
- Tworzenie szablonów: Podstawy tworzenia i używania szablonów Twig.
- Zarządzanie widokami: Implementacja i manipulacja widokami przy użyciu Twig.
Godzina 6-7: Doctrine ORM i modele w Symfony
- Konfiguracja Doctrine: Podstawy konfiguracji i połączenia z bazą danych.
- Tworzenie i zarządzanie encjami: Proces tworzenia i konfiguracji modeli (encji) w Symfony.
- Migracje: Użycie migracji do zarządzania schematem bazy danych.
Dzień 2: Bazy danych i Eloquent ORM w kontekście Symfony i Doctrine
Godzina 1-2: Wprowadzenie do Doctrine, konfiguracja, mapowanie encji
- Wprowadzenie do Doctrine: Przegląd Object-Relational Mapping (ORM) w Symfony.
- Konfiguracja Doctrine: Jak skonfigurować Doctrine w projekcie Symfony.
- Mapowanie encji: Definiowanie encji i mapowanie ich do tabel bazy danych.
Godzina 3-4: Budowanie formularzy i obsługa danych wejściowych, walidacja
- Budowanie formularzy: Metody generowania formularzy w Symfony przy użyciu komponentu Form.
- Obsługa danych wejściowych: Jak przechwytywać i przetwarzać dane przesłane przez użytkownika
- Walidacja: Implementacja walidacji danych wejściowych przy użyciu komponentu Validator.
Godzina 5-6: Sesje i zarządzanie stanem, wprowadzenie do relacji między encjami
- Sesje: Konfiguracja i zarządzanie sesjami w Symfony dla utrzymania stanu między żądaniami.
- Zarządzanie stanem: Wykorzystanie serwisów do zarządzania stanem aplikacji.
- Relacje między encjami: Definiowanie i zarządzanie relacjami między encjami w Doctrine.
Godzina 7-8: Praktyczne zadanie: Rozbudowa aplikacji o relacje i walidację
- Praktyczne wdrożenie: Uczestnicy pracują nad rozbudową istniejącej aplikacji, implementując nowe encje i relacje, dodając formularze z walidacją.
- Analiza i omówienie: Omówienie najlepszych praktyk, typowych błędów i sposobów ich rozwiązania.
Dzień 3: Bezpieczeństwo i autentykacja
Godzina 1-2: System bezpieczeństwa Symfony, konfiguracja autentykacji
- System bezpieczeństwa Symfony: Przegląd komponentu Security.
- Konfiguracja autentykacji: Ustawienie mechanizmów logowania i autoryzacji.
Godzina 3-4: Zarządzanie dostępem, roles, voters
- Zarządzanie dostępem: Jak konfigurować i zarządzać dostępem do różnych części aplikacji.
- Roles i Voters: Implementacja systemu ról i głosowania w kontekście zabezpieczeń.
Godzina 5-6: Zaawansowane techniki Doctrine, optymalizacja zapytań
- Zaawansowane techniki Doctrine: Lepsze praktyki w zarządzaniu encjami i relacjami.
- Optymalizacja zapytań: Techniki optymalizacji zapytań do bazy danych dla lepszej wydajności aplikacji.
Godzina 7-8: Praktyczne zadanie: Implementacja systemu autentykacji i autoryzacji
- Implementacja systemu autentykacji: Praktyczne ćwiczenie z implementacji logowania.
- Implementacja systemu autoryzacji: Zbudowanie mechanizmu kontroli dostępu z wykorzystaniem ról i voters.
Dzień 4: Frontend i Twig
Godzina 1-2: Podstawy Twig, tworzenie zaawansowanych szablonów
- Podstawy Twig: Wprowadzenie do systemu szablonów Twig.
- Zaawansowane szablony: Techniki tworzenia bardziej złożonych szablonów.
Godzina 3-4: Zarządzanie assetami, wprowadzenie do Webpack Encore
- Zarządzanie assetami: Jak efektywnie zarządzać zasobami frontendowymi.
- Webpack Encore: Konfiguracja i użycie Webpack Encore dla lepszej organizacji assetów.
Godzina 5-6: Integracja z JavaScript, podstawy Vue.js/React w Symfony
- Integracja z JavaScript: Jak włączyć JavaScript do projektów Symfony.
- Podstawy Vue.js: Wprowadzenie do używania Vue.js w aplikacjach Symfony.
Godzina 7-8: Praktyczne zadanie: Dodanie interaktywnych elementów do aplikacji
- Dodanie interaktywnych elementów: Praca nad dodaniem dynamicznych komponentów z użyciem Vue.js
- Analiza i omówienie: Przejrzenie zaimplementowanych funkcjonalności, dyskusja na temat napotkanych problemów i rozwiązanych zadań.
Dzień 5: Testowanie i Deployment
Godzina 1-2: Wprowadzenie do testowania w Symfony, PHPUnit
- Wprowadzenie do testowania: Podstawy testowania w Symfony, różnice między testami jednostkowymi a funkcjonalnymi.
- PHPUnit: Konfiguracja i podstawy pisania testów jednostkowych z użyciem PHPUnit w Symfony.
Godzina 3-4: Testy funkcjonalne, testy jednostkowe, Continuous Integration
- Testy funkcjonalne: Jak pisać i uruchamiać testy funkcjonalne, testowanie kontrolerów i usług.
- Continuous Integration (CI): Integracja z systemami CI, takimi jak GitHub Actions lub GitLab CI, automatyzacja testów.
Godzina 5-6: Deployment aplikacji, najlepsze praktyki
- Deployment aplikacji: Przegląd strategii deploymentu, konfiguracja środowisk.
- Najlepsze praktyki: Automatyzacja procesu deploymentu, zarządzanie wersjami, używanie narzędzi takich jak Envoyer lub Deployer.
Godzina 7-8: Projekt końcowy: Integracja wiedzy, prezentacja projektów
- Projekt końcowy: Uczestnicy pracują nad zintegrowaniem zdobytej wiedzy w projekcie końcowym.
- Prezentacja projektów: Prezentacja pracy, dyskusja o wykorzystanych rozwiązaniach, omówienie napotkanych problemów i sposobów ich rozwiązania.
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Szkolenie w skrócie
Intensywne, warsztatowe szkolenie z Symfony, skierowane do programistów znających podstawy PHP, którzy chcą zgłębić tajniki jednego z najpopularniejszych frameworków do tworzenia aplikacji webowych. Program szkolenia obejmuje pełen zakres tematów - od konfiguracji środowiska, przez MVC, bazę danych i Doctrine, bezpieczeństwo, autentykację, aż po testowanie i deployment.
Każda sesja teoretyczna jest wspierana praktycznymi ćwiczeniami, co pozwala na utrwalenie wiedzy i umiejętności. Uczestnicy szkolenia zrealizują projekt końcowy, który umożliwi im zastosowanie zdobytej wiedzy w praktyce. Szkolenie podkreśla znaczenie najlepszych praktyk i efektywnego wykorzystania Symfony do budowy nowoczesnych aplikacji webowych.
Korzyści ze szkolenia
Po ukończeniu szkolenia uczestnik będzie potrafił:
- zrozumieć architekturę i filozofię pracy z Symfony,
- tworzyć zaawansowane aplikacje webowe z użyciem Symfony,
- zarządzać bazą danych i stosować najlepsze praktyki w pracy z Doctrine,
- implementować mechanizmy bezpieczeństwa i autentykacji,
- efektywnie integrować frontend z użyciem Twig oraz technologii JavaScript,
- przeprowadzać testowanie jednostkowe i funkcjonalne aplikacji,
- skutecznie wdrażać aplikacje Symfony na serwery produkcyjne.
Dla kogo?
Szkolenie przeznaczone jest dla programistów PHP na poziomie średniozaawansowanym, którzy chcą rozwinąć swoje umiejętności w pracy z Symfony, zwiększyć efektywność tworzenia aplikacji webowych i poszerzyć swoją wiedzę o nowoczesne techniki programistyczne.
Prowadzący szkolenie: Łukasz Przeździęk
Łukasz Przeździęk jest absolwentem Politechniki Łódzkiej na wydziale FTIMS, związany z PHP od 2006 roku. Jego doświadczenie obejmuje pracę z frameworkami Laravel i Symfony, a obecnie pełni funkcję Senior Backend Developera w firmie OnlineVenture, gdzie odpowiada za utrzymanie serwisów meczyki.pl i ppe.pl. Łukasz posiada bogate doświadczenie pedagogiczne, spędziwszy 10 lat jako nauczyciel przygotowujący uczniów technikum do egzaminu zawodowego z programowania. Jego wiedza i doświadczenie praktyczne czynią go ekspertem w dziedzinie backend developmentu, a pasja do nauczania i dzielenia się wiedzą sprawiają, że jest wyjątkowym prowadzącym szkolenia z zakresu nowoczesnych technologii webowych.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia