Buongiorno a tutti, c'è una questione che mi confonde e non riesco a spiegarmi.
Vi riporto un esempio così forse riesco a spiegarmi meglio:
codice:
public function GetUser(){
$returned = $this->d_provider->GetUser();
if($returned != null){
$outputVal = Array();
for($index=0; $index<count($returned); $index++){
$base = $returned[$index];
$__user->IdUtente = $base["IdUtente"];
$__user->email = $base["email"];
$__user->nome = $base["nome"];
$__user->cognome = $base["cognome"];
$__user->citta = $base["citta"];
array_push($outputVal,$__user);
}
return $outputVal;
}else{
return 0;
}
}
Questo esempio in poche parole preleva delle informazioni da una base dati e restituisce un array di oggetti di tipo $__user; ora la cosa che non mi spiego è la seguente:
Come fa l'interprete php a comprendere che $__user è un oggetto di cUtente (questa è la classe) se io non gli inizializzo tale oggetto? Questa funzione così com'è funziona alla perfezione ma se io mettessi subito dopo il for l'istruzione
codice:
$__user = new cUtente();
mi restituisce un array vuoto