Salve,
ho iniziato a vedermi Laravel e facendo alcune prove per capire l'autoloader assieme ai namespace, mi sono imbattuto in comportamenti inaspettati.
Faccio qualche esempio:
1) installazione di base, aggiungo un controller senza namespace e il tutto funziona... perfetto
2) poi creo un controller con namespace e il sistema NON me lo indirizza.
Eseguo composer dump-autoload e il tutto funziona magicamente
3) Qui incomincia il primo dubbio.
Creo un altro controller con namespace, questa volta lo posiziono in una sub-directory con lo stesso nome del namespace ma NON ESEGUO composer dump-autoload.
Immagino che il tutto non dovrebbe funzionare, e invece stranamente il tutto funziona
4) Per concludere faccio una botta da matto
Apro composer.json e sotto autoload:classmap rimuovo la direttiva "app/controller" ed eseguo composer dump-autoload per aggiornare i vari file di autoload.
Adesso non dovrebbe funzionare niente, dato che la directory dei controller é stata cancellata dal suo "dizionario".
E invece il tutto va come se niente fosse
Adesso mi chiedo, come mai ai punti 3 e 4 il tutto funziona, quando invece (ignorantemente) mi aspetto una valanga di error?
EDIT:
Solo per essere precisi, i controller si trovano in app/controller e questi sono correttamente indirizzati usando routes.php