Sto approcciando il php da pochissimo,
Ho trovato alcuni problemi con le classi, e specialmente con i costruttori. In pratica l'ultimo parametro passato al costruttore sovrascrive tutti gli altri!!
ad esempio
Creo un'array di istanze della classe Message, e passo ad ogn istanza quatto numeri in sequenza. Quando vado a ristampare il primo numero php mi fa vedere l'ultimo parametro passato al costruttore.
--PHP Version 4.0.0
class Message{
var $original;
var $oneadded;
var $twoadded;
var $threeadded;
function Message($sender, $receiver, $description, $content){
$this->$original = $sender;
echo("$sender + 0 = ".$this->$original."
");
$this->$oneadded = $receiver;
echo("$sender + 1 = ".$this->$oneadded."
");
$this->$twoadded = $description;
echo("$sender + 2 = ".$this->$twoadded."
");
$this->$threeadded = $content;
echo("$sender + 3 = ".$this->$threeadded."
");
}
}
function getNewsUsers()
{
$UserList = array();
for($i=0; $i<20; $i++)
{
//echo("push
");
array_push($UserList,new Message($i,$i+1,$i+2,$i+3));
}
echo("----------------------------------------------------------
");
for($i=0; $i<count($UserList); $i++)
{
echo("UserList[$i] ".$UserList[$i]->$twoadded."
");
}
return $UserList;
}
$prova = getNewsUsers();
echo("---->".count($prova)."
");
for($i=0; $i<count($prova); $i++)
{
echo(" ---> $i + 0 = ".$prova[$i]->$original."
");
}
Qualcuno può spiegarmi il perchè?
Grazie.