Afficher un message
Vieux 13/09/2007, 06h07   #3
Yarco
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: How to get value of an private member?

But when i think of Reflection, it is a method to view everything in
an object(member's type and value).
If it doesn't support private member, we already have such functions
like get_class_XXX...no need reflection.

On Sep 12, 8:13 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> 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.
> jstuck...@attglobal.net
> ==================



  Réponse avec citation
 
Page generated in 0,06275 seconds with 9 queries