Co dalej? — mapa dalszej nauki PHP
🎯 Po tej lekcji będziesz wiedzieć jakie technologie i koncepcje warto poznać po ukończeniu tego kursu i w jakiej kolejności się do nich zabrać.
Ukończyłeś kurs PHP — od pierwszego echo "Hej!" po kompletną aplikację z kontami użytkowników, bazą danych i bezpieczeństwem. To naprawdę solidny fundament. Ale świat PHP jest ogromny — oto mapa tego, co warto odkryć dalej.
Czego właśnie nauczyłeś się
Zanim ruszysz dalej, przypomnij co masz za sobą:
- Moduł 0–1: PHP jako język — typy, zmienne, operatory, stringi
- Moduł 2–4: Sterowanie przepływem, funkcje, tablice
- Moduł 5: PHP w internecie — formularze, sesje, walidacja
- Moduł 6: OOP — klasy, obiekty, dziedziczenie, interfejsy
- Moduł 7: Composer — autoloading, paczki, PSR-4
- Moduł 8: Baza danych — PDO, prepared statements, wzorzec repozytorium
- Moduł 9: Bezpieczeństwo — hashowanie haseł, XSS, CSRF, sesje, sekrety
Krok 1 — Git (jeśli jeszcze nie używasz)
Zanim ruszysz dalej, opanuj Git. To narzędzie jest absolutnie niezbędne w każdym projekcie:
# Podstawy których potrzebujesz:
git init # inicjuj repozytorium
git add . # dodaj zmiany do staging
git commit -m "wiadomość" # zapisz migawkę
git log --oneline # historia commitów
git branch feature/logowanie # nowa gałąź
git checkout main # przełącz gałąź
Polecane zasoby:
- Pro Git Book — po polsku, darmowa
- Learn Git Branching — interaktywna gra
Krok 2 — Laravel (framework PHP)
Laravel to najpopularniejszy framework PHP. Bazuje na tym co znasz (OOP, Composer, PDO), ale dodaje konwencje, które przyspieszają pracę:
- Routing — eleganckie definiowanie URL
- Eloquent ORM — klasy reprezentujące tabele (zamiast surowego SQL)
- Blade — system szablonów z dziedziczeniem layoutów
- Migracje — wersjonowanie schematu bazy danych
- Artisan — narzędzie wiersza poleceń do generowania kodu
Jak zacząć: Laravel Bootcamp — oficjalny, bezpłatny kurs budowania aplikacji w Laravel. Zajmie ci kilka wieczorów i daje świetne podstawy.
# Instalacja Laravel przez Composer:
composer create-project laravel/laravel moj-projekt
cd moj-projekt
php artisan serve # uruchom serwer deweloperski
Dzięki temu kursowi wiesz dlaczego Laravel robi to co robi — rozumiesz fundamenty, nie tylko API frameworka.
Krok 3 — wzorzec MVC
Laravel implementuje MVC, ale warto rozumieć wzorzec niezależnie od frameworka:
Przeglądarka → Controller → Model → Baza danych
↑ ↓
└── View ← dane
- Model — klasy danych i logika biznesowa (ZadanieRepozytorium z Modułu 8 to prototyp Modelu)
- View — szablony HTML (pliki Blade w Laravel lub Twig w Symfony)
- Controller — przyjmuje żądanie HTTP, wywołuje Model, zwraca View
Ty już piszesz kod bliski MVC — pliki z logikę PHP i szablonem HTML to wczesna forma wzorca.
Krok 4 — REST API i JSON
Coraz więcej aplikacji PHP pełni rolę backendu API — zwraca dane JSON zamiast HTML. Frontend (React, Vue, Angular) lub aplikacja mobilna pobiera te dane i renderuje je po swojej stronie.
<?php
// Prosty endpoint REST API w czystym PHP:
declare(strict_types=1);
header('Content-Type: application/json');
$zadania = [
['id' => 1, 'tytul' => 'Nauczyć się REST'],
['id' => 2, 'tytul' => 'Zbudować API'],
];
echo json_encode($zadania, JSON_UNESCAPED_UNICODE);
// wynik: [{"id":1,"tytul":"Nauczyć się REST"},...]
W Laravel budowanie API jest wyjątkowo wygodne przez API Resources i Sanctum (autentykacja tokenami).
Krok 5 — PHPUnit i testy jednostkowe
Testy automatyczne to umiejętność, która wyróżnia dobrego developera. PHPUnit to standardowe narzędzie do testów w PHP:
<?php
declare(strict_types=1);
// Przykład testu jednostkowego:
use PHPUnit\Framework\TestCase;
final class KalkulatorTest extends TestCase
{
public function test_dodawanie(): void
{
$kalkulator = new Kalkulator();
self::assertSame(5, $kalkulator->dodaj(2, 3));
}
}
# Uruchomienie testów:
./vendor/bin/phpunit
# Z pokryciem kodu (code coverage):
./vendor/bin/phpunit --coverage-html reports/
Zacznij od testów dla klas repozytorium — to naturalny pierwszy cel, bo mają jasno zdefiniowane wejścia i wyjścia.
Krok 6 — Composer w praktyce
W Module 7 poznałeś Composera. W realnych projektach będziesz instalować wiele paczek. Kilka przydatnych:
| Paczka | Zastosowanie |
|---|---|
| vlucas/phpdotenv | Wczytywanie pliku .env |
| ramsey/uuid | Generowanie UUID |
| symfony/http-foundation | Klasy Request/Response |
| phpmailer/phpmailer | Wysyłanie e-maili |
| league/flysystem | Abstrakcja systemu plików |
| carbon/carbon | Wygodna obsługa dat |
Krok 7 — Symfony jako alternatywa
Jeśli Laravel ci nie odpowiada (lub pracujesz w firmie używającej Symfony), to świetna alternatywa — bardziej modularna, używana w dużych projektach korporacyjnych. Komponenty Symfony działają też niezależnie (np. HttpFoundation, Validator, Security).
Gdzie szukać pomocy
- Oficjalna dokumentacja PHP — najpełniejsze źródło o każdej funkcji (po angielsku; polski manual został wycofany)
- Stack Overflow — tagi
php,laravel,mysql - Laracasts — wideo dla Laravel
- Reddit r/PHP — społeczność, aktualności, dyskusje
- PHP The Right Way — kompendium dobrych praktyk
Mapa dalszej nauki
Teraz: PHP (fundament) ← masz to!
└─ Git ← następny krok
Miesiąc 1-2: Laravel Bootcamp
└─ Baza: migracje, Eloquent ORM
└─ Blade, routing, formularze
Miesiąc 3-4: PHPUnit, TDD
└─ CI/CD (GitHub Actions)
└─ REST API w Laravel
Miesiąc 5-6: Docker, deploy na VPS
└─ Redis (sesje, cache)
└─ Queues i jobs
Dalej: Architektura (DDD, CQRS)
└─ Microservices
└─ Vue.js / React jako frontend
Nie musisz tego robić wszystkiego naraz. Każdy krok buduje się na poprzednim — tak jak ten kurs.
🚀 Gdzie opublikować swój projekt?
Żeby Twoja aplikacja PHP działała w internecie — a nie tylko na localhost — potrzebujesz hostingu z obsługą PHP 8 i bazy MySQL. Ofert jest mnóstwo i łatwo się pogubić, dlatego warto je najpierw porównać.
Sprawdź się
Czym jest wzorzec MVC?
MVC (Model-View-Controller) to wzorzec architektoniczny. Model odpowiada za dane i logikę biznesową, View za szablon HTML, Controller za przyjmowanie żądań HTTP i łączenie Modelu z Widokiem. Frameworki jak Laravel opierają się na MVC.
Po co pisać testy jednostkowe (PHPUnit) do kodu PHP?
Testy jednostkowe uruchamiasz po każdej zmianie kodu (lub automatycznie przez CI/CD). Jeśli test się wywali — wiesz od razu, że coś zepsułeś. To szczególnie cenne przy refaktoryzacji i rozbudowie istniejącego kodu.
Co to jest REST API?
REST API (Representational State Transfer) to styl architektury webowej, gdzie serwer zwraca dane (JSON) zamiast gotowych stron HTML. Frontend (np. React) lub aplikacja mobilna pobiera dane przez API i renderuje je po swojej stronie.