Hi,
This is expected since the property is marked private, meaning its only accessable within its own scope, not for extended classes. For that you need to use protected, as you mention.
ray - e: [EMAIL PROTECTED] w: http://www.memefeeder.com
Antony Dovgal wrote:
Hi all!
What do you expect from this code?
<?php
class Foo{ private $id = false;
public function getId () { return $this->id;
} public function setId ($id) { return $this->id = $id;
}
}
class Bar extends Foo { public function setId ($id) { return $this->id = $id;
} }
$b = new Bar; $b->setId(123);
var_dump($b->getId());
?>
It outputs 'bool(false)', while I expect it to print 'int(123)'.
Changing private $id to public or protected solves the problem. Adding getId() method to the Bar solves it too, but this is obviously rather silly solution.
Am I missing something and this is really expected behaviour ?
--- WBR, Antony Dovgal aka tony2001 [EMAIL PROTECTED] || [EMAIL PROTECTED]
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php