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