Salve, ho un problemino con i passaggi per riferimento degli oggetti in php 4, metto un esempio del prob, così mi spiego meglio:
class prova1
{
function prova1()
{
$this->valore = 'valore iniziale';
}
function set_valore($val)
{
$this->valore = $val;
}
var $valore;
}
class prova3
{
function prova3(&$val)
{
$this->val = $val;
}
var $val;
}
class prova2
{
function prova2(&$val)
{
$this->val = &$val;
$this->pro3 = new prova3($this->val);![]()
}
var $val;
var $pro3;
}
class prova5
{
function prova5()
{
$this->p1 = new prova1();
$this->p2 = new prova2($this->p1);
$this->p3 = new prova3($this->p1);
}
function mod_val_p1()
{
$this->p1->set_valore('modificato da prova5');
}
var $p1;
var $p2;
}
$pro5 = new prova5();
$pro5->mod_val_p1();
echo 'In prova5 c\'è: '.$pro5->p1->valore.'
';
echo 'In prova3 c\'è: '.$pro5->p3->val->valore.'
';
echo 'In prova2 c\'è: '.$pro5->p2->val->valore;
//Output
/*
In prova5 c'è: modificato da prova5
In prova3 c'è: valore iniziale
In prova2 c'è: modificato da prova5
*/
Quello che vorrei è che anche prova3 facesse riferimento alla stessa istanza di prova1, ma nel passaggio "$this->pro3 = new prova3($this->val);" mi sa che si crea una copia invece di un riferimento.... c'è qualcuno che saprebbe darmi una mano?
grazie mille