Impara Clean Architecture, Design Patterns e le best practices di PHP 8
attraverso una kata di programmazione reale con video tutorial completi.
Questo repository accompagna la mia serie completa di tutorial su YouTube:
| Episodio | Argomento | Video |
|---|---|---|
| 01 | Introduzione & Clean Code Basics | Guarda |
| 02 | Unit Test, Refactoring, Quality Tools | Guarda |
| 03 | Integrazione Symfony Console | Guarda |
| 04 | Dependency Injection in PHP Puro | Guarda |
| 05 | Strategy Pattern: Refactoring da If-Else a Design Pattern Clean | Guarda |
| 06 | Hexagonal Architecture e Factory Pattern | Guarda |
| 07 | Addio Primitive Obsession con Value Objects e Aggregates | Guarda |
🔔 Iscriviti al mio canale YouTube per altri tutorial su PHP 8 e altro ancora!
- ✅ Hexagonal Architecture nella pratica
- ✅ Design Patterns come lo Strategy e il Factory Pattern
- ✅ Dependency Injection senza framework
- ✅ Principi SOLID applicati a codice reale
- ✅ Clean Code & Domain-Driven Design
- ✅ Test-Driven Development con PHPUnit
Requisiti: PHP 8.4+ e Composer. In alternativa, puoi usare Docker.
# Clona il repository
git clone https://github.com/gmaccario/parking-lot-kata
cd parking-lot-kata
# Scegli un episodio, per esempio:
cd episodes/04-dependency-injection
# Installa le dipendenze
composer install
# Esegui i test
./vendor/bin/phpunit
# Leggi il file README dell'episodio specifico
# Esegui specifici comandi# Clona il repository
git clone https://github.com/gmaccario/parking-lot-kata
cd parking-lot-kata
# Avvia il container
make up
# Entra nel container
make shell
# Scegli un episodio, per esempio:
cd episodes/04-dependency-injection
# Installa le dipendenze
composer install
# Esegui i test
./vendor/bin/phpunit
# Leggi il file README dell'episodio specifico
# Esegui specifici comandiComandi disponibili:
| Comando | Descrizione |
|---|---|
make up |
Avvia il container |
make down |
Ferma il container |
make shell |
Entra nel container |
make clean |
Rimuovi container e volumi |
parking-lot-kata/
│
├── README.md
├── README-en.md
│
├── episodes/
│ ├── 01-basic-implementation/
│ │ ├── README.md
│ │ ├── src/
│ │ ├── tests/
│ │ └── composer.json
│ │
│ ├── 02-tests-refactoring-quality-tools/
│ │ ├── README.md
│ │ ├── src/
│ │ ├── tests/
│ │ └── composer.json
│ │
│ ├── 03-symfony-console-component-integration/
│ ├── 04-dependency-injection/
│ ├── 05-strategy-pattern/
│ └── 06-hexagonal-architecture-factory-pattern/
│
├── docker-compose.yml
├── Makefile
└── LICENSE
Ogni episodio è autonomo e contiene:
- Codice funzionante completo
- Test esaustivi
- README con spiegazione dei concetti
- Link al video corrispondente
Sei nuovo? Inizia da /episodes/01-basic-implementation oppure guarda l'espisodio su YouTube.
Dopo 15 anni di sviluppo di sistemi PHP ad alto traffico (inclusi London2012.com e FIFA.com), ho visto cosa distingue uno sviluppatore junior da uno senior: il pensiero architetturale, non la conoscenza della sintassi.
Questa kata ti insegna a pensare in modo architetturale attraverso la pratica diretta.
Hai trovato un bug? Hai un suggerimento? Apri una issue!
Vuoi aggiungere un miglioramento? Le PR sono benvenute.
- YouTube: Giuseppe Maccario
- Website: giuseppemaccario.com
- LinkedIn: Connettiti con me
MIT - Usa questo codice per imparare, insegnare e costruire ottimo software.
⭐ Se questo repo ti ha aiutato a migliorare le tue skill PHP, lascia una stella!
Aiuta altri sviluppatori a scoprire questi tutorial.