[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