Ho beccato uno schifo di BUG senza soluzione.
In un primo file vuoto creo una funzione per guardare il valore di una variabile globale chiamata $a contenente "PIPPO" dichiarata una riga prima: Nessun problema la funzione mi deve restituire quel valore, e lo fa scrivendomi "PIPPO".
Ma se...
In coda ad un altro file con già del codice, provo ad aggiungerci in coda lo stesso IDENTICO codice che ora scriverò in basso ottengo un risultato diverso: La funzione dovrebbe restituirmi "PIPPO", ed invece mi restituisce NULL!
Il codice è esattamente questo sia nel primo file che nel secondo. Ripeto: É LO STESSO.
Codice PHP:
unset($a);
$a = "PIPPO";
function ciccia()
{
global $a;
echo "In function: ";
var_dump($a);
}
echo "Out function: ";
var_dump($a);
echo "
";
ciccia();
Risultato razionale del primo file:
codice:
Out function: string(5) "PIPPO"
In function: string(5) "PIPPO"
Risultato non razionale del secondo file:
codice:
Out function: string(5) "PIPPO"
In function: NULL
Il codice è lo stesso, per sicurezza in entrambi i casi prima distruggo "$a", e poi la ridichiaro una riga prima di usare la funzione. Eppure questa schifo di funzione in un file funziona e in un altro file no.
Non vi conviene aiutarmi se avete ancora voglia di dormire nelle prossime settimane.