[Php-it] Dichiarazione globale variabili e funzioni

Luca Falvo lfalvo at logos.net
Fri Aug 25 09:28:54 CEST 2006


>$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?!?!?!

c'è qualcosa che mi sfugge...
la variabile $a in &creaMyClasse() ha visibilità locale, quindi se la passo 
per copia non c'è nessun problema (ed in effetti la classe viene creata due 
volte!) ma se la passi per riferimento, passi il riferimento ad una 
variabile che non esiste più, o sbaglio?

certo, se lo scope di $a fosse globale... o se $a fosse una variabile 
passata per riferimento alla funzione...

l.



More information about the Php-it mailing list