Ciao,
ho fatto un file di prova che comincia creando un alias di classi/namespace (‘use’) e includendo le classi (‘include’).
Nello stesso file ho creato due funzioni: una funzione per l’invio dell’email (1) e un altra funzione che la invoca (2). Ho invocato la funzione (2) e tutto ha funzionato: l’email è arrivata.
Ma … se sposto le funzioni in un file esterno dedicato alle funzioni e lo includo prima di invocarla, ricevo un errore di tipo “Fatal error: Uncaught Error: Class 'PHPmailer' not found in …465 Stack trace: #0 … “ mostrando tutto il percorso a ritroso partendo dalla funzione 1, poi quella 2 ed infine la pagina dove viene invocata.
Non riesco a cogliere la differenza.
Grazie.
Se ho ben capito:
è come essere in una grossa biblioteca ed avere bisogno di soli pochi libri tra le migliaia a disposizione.
Il namespace è come un foglio di carta nel quale mi appunto il nome di quei 4 o 5 volumi che mi servono.
Gli include/require invece sono la richiesta alla bibliotecaria di trovarmi quei libri e di mettermeli a disposizione senza che io mi debba preoccupare di eventuali conflitti tra percorsi ecc.
Ancora se ho ben capito: “è roba da grandi progetti”?