Szkolenie PHP – poziom zaawansowany
Poziom
ZaawansowanyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z PHP – poziom zaawansowany
Warsztat transformuje aplikację CLI z kursu podstawowego w profesjonalne REST API — krok po kroku, z testami od pierwszej minuty. Uczestnicy poznają Test-Driven Development jako sposób pracy (nie jako dodatek), programowanie obiektowe na poziomie projektowym (interfejsy, Value Objects, Dependency Injection) oraz Symfony Components jako standard branżowy. Każda zmiana w kodzie jest motywowana realną potrzebą projektu: od zastąpienia $_GET obiektem Request, przez wyodrębnienie warstwy serwisów, po pełne endpointy REST z obsługą błędów. Warsztat kończy się działającym, przetestowanym API z analizą statyczną i profesjonalnym pipeline’em jakości kodu.
Dla kogo jest to szkolenie?
Absolwentów warsztatu PHP Podstawy, którzy chcą rozwinąć swój task manager w profesjonalne API
Programistów PHP ze średnio-zaawansowaną wiedzą, chcący poznać TDD i architekturę warstwową
Developerów, którzy piszą kod „który działa”, ale chcą nauczyć się pisać kod „który jest testowalny i utrzymywalny”
Programistów innych języków z podstawową znajomością PHP, chcący poznać profesjonalne praktyki ekosystemu
Czego nauczysz się na tym szkoleniu?
Test-Driven Development (red-green-refactor) jako codziennego sposobu pracy
Projektowania obiektowego — interfejsy jako kontrakty, Value Objects, kompozycja ponad dziedziczenie
Symfony Components (HttpFoundation, Routing, DependencyInjection) — standard branżowy PHP
Budowania REST API — zasoby, metody HTTP, kody odpowiedzi, serializacja JSON
Dependency Injection i zasad SRP/DIP w praktyce (na żywym kodzie, nie na slajdach)
Warstwy serwisów, DTO i walidacji requestów
Obsługi błędów wbudowanej w API — wyjątki domenowe, custom exception handler
Analizy statycznej (PHPStan) i profesjonalnego pipeline’u jakości kodu (PHP-CS-Fixer)
Wymagania
- PHP 8.3+: zmienne, typy, funkcje, pętle, tablice, enums, readonly properties
- Podstawowe OOP: klasy, konstruktory, properties
- PDO/MySQL: proste operacje CRUD
- Composer: autoloading PSR-4
- Git: commit, status, log
- Docker: docker compose up
- Podstawy HTTP: metody (GET, POST, PUT, DELETE), kody odpowiedzi (200, 404, 500)
- Żadne dodatkowe przygotowanie nie jest wymagane od uczestników szkolenia PHP – podstawy programowania
Program szkolenia
Dzień 1
Etap 1: HTTP Foundation
- Przegląd kodu z warsztatu podstawowego — co działa, co boli
- Symfony HttpFoundation — Request/Response zamiast superglobali
- Routing — mapowanie URL na akcje
- PHPUnit — testujemy istniejącą logikę, pierwszy zielony test
- Efekt: Ten sam task manager, ale obsługiwany przez HTTP z działającym testem
Etap 2: OOP i TDD
- Modelowanie domeny — Task jako bogaty obiekt (nie tylko dane)
- Value Objects — TaskTitle z walidacją w konstruktorze
- Interfejsy jako kontrakty — TaskRepositoryInterface
- Implementacja repozytorium (MySQL) za interfejsem
- TDD: red-green-refactor jako sposób pracy — piszemy test, potem implementację
- Efekt: Kod jest podzielony na warstwy z czytelnymi odpowiedzialnościami i testami
Etap 3: Architektura i DI
- Problem: kontroler tworzy repozytorium sam — dlaczego to źle?
- Symfony DependencyInjection Container — konfiguracja serwisów
- Warstwa serwisów — logika biznesowa wyodrębniona z kontrolerów
- SRP i DIP w praktyce (na żywym kodzie, nie na slajdach)
- TDD: testujemy serwis w izolacji (mock repozytorium)
- Efekt: Logika testowalna, zależności wstrzykiwane, kontrolery cienkie
Dzień 2
Etap 4: REST API
- Projektowanie API — zasoby, metody HTTP, kody odpowiedzi
- DTO — obiekty wejścia/wyjścia, oddzielone od domeny
- Walidacja requestów
- Serializacja do JSON, content negotiation
- Obsługa błędów wbudowana w API:
- Wyjątki domenowe vs infrastrukturalne
- Custom exception handler — spójne odpowiedzi błędów
- Walidacja na granicach systemu
- TDD: testy integracyjne dla endpointów
- Efekt: Pełne CRUD REST API, przetestowane, z obsługą błędów
Capstone: Quality gate
- PHPStan — analiza statyczna na wysokim poziomie
- PHP-CS-Fixer — custom rulesets, integracja z workflow
- Refaktoryzacja z siatką bezpieczeństwa — testy pozwalają zmieniać kod bez strachu
- Git log — przegląd ewolucji od CLI do REST API
- Efekt: Kod jest czysty, przetestowany i zanalityzowany statycznie