Hi,
just stumbled upon a strange issue.
I always thought that protected/private member variables can only be
altered from inside the object.
This example shows, that this is not true:
class Test
{
protected $member = null;
public static function getObj()
{
$myself = new Test();
$myself->member = "hello world";
return $myself;
}
}
$new_object = Test::getObj();
var_dump( $new_object );
The output is:
object(Test)#1 (1) {
["member":protected]=>
string(11) "hello world"
}
Of course, I'm "inside" the right class, nevertheless, the object
stored in $myself should not allow direct access to its members.
Is this the expected behaviour? Code of this kind is used quite
frequently for factory methods.
Greetings
Nico
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php