separate skills
This commit is contained in:
+1
-50
@@ -3,7 +3,7 @@
|
|||||||
Queste regole definiscono il comportamento per tutti gli sviluppi futuri su questa repository, al fine di mantenere l'architettura pulita e scalabile.
|
Queste regole definiscono il comportamento per tutti gli sviluppi futuri su questa repository, al fine di mantenere l'architettura pulita e scalabile.
|
||||||
|
|
||||||
1. **Dependency Injection Obbligatoria (IoC)**
|
1. **Dependency Injection Obbligatoria (IoC)**
|
||||||
Non utilizzare mai chiamate a metodi statici per accedere a servizi o configurazioni (es. evitare `Config::get()` o `HttpClient::get()`).
|
Non utilizzare mai chiamate a metodi statici per accedere a servizi o configurazioni (es. evitare `Config::get()` o `HttpClient::get()`).
|
||||||
Tutte le dipendenze devono essere iniettate tramite costruttore. Il container in `bootstrap.php` provvederà all'autowiring automatico.
|
Tutte le dipendenze devono essere iniettate tramite costruttore. Il container in `bootstrap.php` provvederà all'autowiring automatico.
|
||||||
|
|
||||||
2. **Namespace e Struttura dei Controller**
|
2. **Namespace e Struttura dei Controller**
|
||||||
@@ -22,52 +22,3 @@ Queste regole definiscono il comportamento per tutti gli sviluppi futuri su ques
|
|||||||
|
|
||||||
6. **Routing API e prefissi di versione**
|
6. **Routing API e prefissi di versione**
|
||||||
Le route devono essere registrate senza il prefisso `/api` e senza il prefisso di versione (es. usare `/users` invece di `/api/users` o `/api/v1/users`). Il router deve normalizzare i percorsi in ingresso rimuovendo il prefisso `/api` prima di confrontarli con le route registrate, così richieste come `/api/users` e `/api/v1/users` continuano a funzionare.
|
Le route devono essere registrate senza il prefisso `/api` e senza il prefisso di versione (es. usare `/users` invece di `/api/users` o `/api/v1/users`). Il router deve normalizzare i percorsi in ingresso rimuovendo il prefisso `/api` prima di confrontarli con le route registrate, così richieste come `/api/users` e `/api/v1/users` continuano a funzionare.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Debug API PHP con VS Code e Docker
|
|
||||||
|
|
||||||
Questa sezione descrive la procedura per fare debug delle API PHP servite da Docker in questa repository.
|
|
||||||
|
|
||||||
## Passaggi
|
|
||||||
|
|
||||||
1. Avvia il container Docker dalla root del progetto:
|
|
||||||
```bash
|
|
||||||
docker compose up --build
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Apri Visual Studio Code e vai su "Run and Debug".
|
|
||||||
|
|
||||||
3. Seleziona la configurazione:
|
|
||||||
```text
|
|
||||||
Debug PHP in Docker
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Premi F5 per avviare il debugger.
|
|
||||||
|
|
||||||
5. Imposta un breakpoint in un controller, ad esempio in:
|
|
||||||
```text
|
|
||||||
src/Api/Controllers/V1/UsersController.php
|
|
||||||
```
|
|
||||||
|
|
||||||
6. Richiama l’endpoint tramite browser o curl:
|
|
||||||
```bash
|
|
||||||
curl -H "XDEBUG_TRIGGER: 1" http://localhost:8000/api/users
|
|
||||||
```
|
|
||||||
|
|
||||||
## Nota
|
|
||||||
|
|
||||||
Il container deve esporre:
|
|
||||||
- porta `8000` per HTTP
|
|
||||||
- porta `9003` per Xdebug
|
|
||||||
|
|
||||||
Il progetto contiene già i file necessari per il debug:
|
|
||||||
- `.docker/php/Dockerfile`
|
|
||||||
- `docker-compose.yml`
|
|
||||||
- `.vscode/launch.json`
|
|
||||||
- `.vscode/settings.json`
|
|
||||||
|
|
||||||
## Problemi comuni
|
|
||||||
|
|
||||||
- Se VS Code non si ferma sul breakpoint, verifica che Xdebug sia abilitato nel container e che la configurazione `client_host` punti a `host.docker.internal`.
|
|
||||||
- Se il container non si avvia, controlla che Docker Desktop sia in esecuzione.
|
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
# Debug API PHP con VS Code e Docker
|
||||||
|
|
||||||
|
Questa sezione descrive la procedura per fare debug delle API PHP servite da Docker in questa repository.
|
||||||
|
|
||||||
|
## Passaggi
|
||||||
|
|
||||||
|
1. Avvia il container Docker dalla root del progetto:
|
||||||
|
```bash
|
||||||
|
docker compose up --build
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Apri Visual Studio Code e vai su "Run and Debug".
|
||||||
|
|
||||||
|
3. Seleziona la configurazione:
|
||||||
|
```text
|
||||||
|
Debug PHP in Docker
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Premi F5 per avviare il debugger.
|
||||||
|
|
||||||
|
5. Imposta un breakpoint in un controller, ad esempio in:
|
||||||
|
```text
|
||||||
|
src/Api/Controllers/V1/UsersController.php
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Richiama l’endpoint tramite browser o curl:
|
||||||
|
```bash
|
||||||
|
curl -H "XDEBUG_TRIGGER: 1" http://localhost:8000/api/users
|
||||||
|
```
|
||||||
|
|
||||||
|
## Nota
|
||||||
|
|
||||||
|
Il container deve esporre:
|
||||||
|
- porta `8000` per HTTP
|
||||||
|
- porta `9003` per Xdebug
|
||||||
|
|
||||||
|
Il progetto contiene già i file necessari per il debug:
|
||||||
|
- `.docker/php/Dockerfile`
|
||||||
|
- `docker-compose.yml`
|
||||||
|
- `.vscode/launch.json`
|
||||||
|
- `.vscode/settings.json`
|
||||||
|
|
||||||
|
## Problemi comuni
|
||||||
|
|
||||||
|
- Se VS Code non si ferma sul breakpoint, verifica che Xdebug sia abilitato nel container e che la configurazione `client_host` punti a `host.docker.internal`.
|
||||||
|
- Se il container non si avvia, controlla che Docker Desktop sia in esecuzione.
|
||||||
Reference in New Issue
Block a user