Do you have E_STRICT turned on? If not, I believe PHP5 lets you access private / protected vars wherever you want.
On Wed, 23 Jun 2004 13:40:48 -0400, Chris <[EMAIL PROTECTED]> wrote: > > if anyone can, would you please explain why the below code does what it > does? I would expect $this->test in TestInstance to refer to the > inherited $test from Test. Using php5RC3. Thanks. > > <?php > abstract class Test { > private $test; > abstract public function addToTest($i); > } > > class TestInstance extends Test { > public function __construct() { > $this->test = 0; > } > > public function addToTest($i) { > $this->test += $i; > } > } > > $t = new TestInstance(); > $t->addToTest(3); > > var_dump($t); > > // test var SHOULD be private > echo "private test (shouldn't be able to access it directly, but i can): > ".$t->test."\n\n"; > > /* > output > ------------------------------- > object(TestInstance)#1 (2) { > ["test:private"]=> > NULL > ["test"]=> > int(3) > } > private test (shouldn't be able to access it directly, but i can): 3 > */ > ?> > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- paperCrane --Justin Patrin-- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php