Originariamente inviato da piero.mac
Agevola ... agevola..
codice:
<?php
class Prova
{
protected $_data = 5;
function __get($varName)
{
$varName = '_'.$varName;
return $this->$varName++;
}
}
class Prova2 extends Prova
{
function __get($varName)
{
return parent::__get($varName);
}
}
$a = new Prova;
$b = new Prova2;
$c = $a;
for($i = 0; $i < 10; $i++)
{
if($c instanceof Prova2)
$c = $a;
else
$c = $b;
echo $c->data;
}
?>
Questo codice dà questo errore:
Fatal error: Cannot access protected property Prova2::$_data in d:\localhost\www\buzzler\prova_static.php on line 32
Se invece eliminate il ciclo for e prendete il blocco in grassetto, e lo ripetete N volte direttamente nel codice:
codice:
if($c instanceof Prova2)
$c = $a;
else
$c = $b;
echo $c->data;
if($c instanceof Prova2)
$c = $a;
else
$c = $b;
echo $c->data;
if($c instanceof Prova2)
$c = $a;
else
$c = $b;
echo $c->data;
if($c instanceof Prova2)
$c = $a;
else
$c = $b;
echo $c->data;
...
tutto funziona senza errori