[Php-it] Dichiarazione globale variabili e funzioni
Domenici L.
domenico.lorusso at pleiade.it
Thu Aug 24 16:18:05 CEST 2006
Matteo Beccati ha scritto:
>>
>> $a='ciao';
>>
>> function pippo(){
>> echo $GLOBALS['a'];
>> }
>> Non funzionava mentre funzionava:
>>
>>
>> $GLOBALS['a']='ciao';
>>
>> function pippo(){
>> echo $GLOBALS['a'];
>> }
>>
>> Però essendo capitato solo una volta ho pensato che ci fosse un
>> qualche errore nel codice (che ovviamente non era così elementare),
>> negli altri casi ha sempre funzionato bene, certo non è che sia una
>> pratica diffusa....
>
> Il codice di cui sopra con buona probabilità non funzionava perché
> l'include/require dello script era fatto all'interno di una funzione.
> Nel primo caso $a era quindi nello scope della funzione stessa.
>
>
Per la serie la sfiga....
ho appena avuto problema con global e ho dovuto risolvere con $GLOBALS.
il caso era più o meno
$ntp=null;
pippo(2);
function pippo($n){
for ($i=;$i<$n;$i++){
pluto();
}
}
function pluto(){
global $ntp;
if ($ntp===null){
$ntp= & creaMyClasse();
}
[usa $ntp];
}
function &creaMyClasse(){
controlli vari
$a=new MyClasse();
return $a;
}
Ebbene con il codice così mi ricreava 2 volte la classe invece di
tenersela memorizzata.. boh?!?!?!
--
Domenico L.
per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]
More information about the Php-it
mailing list