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