Sto provando a passare una variabile da un file di inclusione a un altro. Questo NON funziona a meno che non dichiari la variabile come globale nel secondo file di inclusione. Tuttavia, NON è necessario dichiararlo come globale nel file che chiama la prima inclusione. Ad esempio:Passaggio di una variabile da un file di inclusione di php a un altro: globale vs. non
front.inc:
$name = 'james';
index.php:
include('front.inc');
echo $name;
include('end.inc');
uscita: James
e nd.inc:
echo $name;
uscita: niente
SE Dichiaro nome globale $ prima echeggiando $ nome in end.inc, allora funziona correttamente. La risposta accettata a questo post spiega che questo dipende dalla configurazione del server: Passing variables in PHP from one file to another
sto usando un server Apache. Come dovrei configurarlo in modo che dichiarare che $ name sia globale non è necessario? Ci sono vantaggi/svantaggi rispetto all'uno o all'altro?
include non sono come funzioni. include non rompere l'ambito della variabile. è come se copiassi il contenuto del file include direttamente nello script chiamante. – dqhendricks
è l'eco in end.inc all'interno di una funzione? – dqhendricks
che interromperà l'ambito della variabile. e in tal caso dovresti probabilmente passare $ name alla funzione in un argomento. – dqhendricks