[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