Afficher un message
Vieux 12/09/2007, 13h13   #2
Jerry Stuckle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: How to get value of an private member?

Yarco wrote:
> For example:
>
> <?php
> class Test
> {
> private $name = 'yarco';
> }
>
> $p = new ReflectionPropery('Test', 'name');
> print $p->getValue();
>
> ?>
>
> This won't work. See: http://www.php.net/manual/en/languag...reflection.php
> ==================
> Note: Trying to get or set private or protected class property's
> values will result in an exception being thrown.
> ==================
> But when we use print_r or var_dump, we could see the private member.
> Why reflection doesn't support this?
> (We have friend class in c++.)
>


Because that's the way it works. And there are no friend classes in PHP.

If you want the value of a private variable, you need a non-private
method to get it.

And I suspect the allow print_r() and var_dump() to display the values
because those are debugging aids, while reflection isn't necessarily.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
  Réponse avec citation
 
Page generated in 0,06068 seconds with 9 queries