note 98952 rejected from language.oop5.visibility by danbrown
| From: | danbrown@php.net | Date: | Sat, 17 Jul 2010 16:33:35 +0000 |
| Subject: | note 98952 rejected from language.oop5.visibility by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-170937@lists.php.net to get a copy of this message | ||
Note Submitter: x_atrix at yahoo dot com
----
I don't know if this is a bug...
We should get the private and protected members value but not to modify them like this.
<?php
class Foo
{
private $private_var = 'private';
protected $protected_var = 'protected';
public function &get_private() {
return $this->private_var;
}
public function &get_protected() {
return $this->protected_var;
}
}
$obj = new Foo();
$private_var =& $obj->get_private();
$protected_var =& $obj->get_protected();
print_r($obj);
/*
Foo Object
(
[private_var:Foo:private] => private
[protected_var:protected] => protected
)
*/
$private_var = 'New Private';
$protected_var = 'New Protected';
print_r($obj);
/*
Foo Object
(
[private_var:Foo:private] => New Private
[protected_var:protected] => New Protected
)
*/
?>
So be careful using references with private and protected properties!