Re: note 9782 added to get_class_vars
| From: | Albert Xin Jiang | Date: | Sat, 25 Nov 2000 12:07:33 +0000 |
| Subject: | Re: note 9782 added to get_class_vars | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-8136@lists.php.net to get a copy of this message | ||
Thanks for the reply!
I went back and tested it again, and this is what I
found out:
get_class_vars() only works as expected IF the class
has been instantiated before. In your example,
without the
$o = new $foo();
statement, print_r($vars) would fail silently,
while var_dump($vars) would output something like
array(5)
{
["name"] => string(10) "foo object"
["boolarr"] => UNKNOWN:0
}
Another interesting example: suppose class b is a
subclass of a, and we
instantiate class b, then get_class_vars('b') would
work fine, with all
the inherited member variables. But
get_class_vars('a') would still choke
on arrays.
Is this the expected behavior? In my particular
situation, I want to access
a member variable $defaults['img_width'] outside of
the class,
divide it by say 5, and pass the result to the
constructor.
It's no use to change it after the instantiation,
because the constructor uses it to do other things.
There are probably ways to work around this, but I
thought get_class_vars()
is designed to solve these kind of problems....
Cheers,
Albert
--- "J. M. Castagnetto" <jcastagnetto@yahoo.com>
wrote:
> Incorrect. The following works as expected (PHP
> 4.0.3pl1, RH 6.1):
>
> class foo {
> var $boolarr = array("false"=>0, "true"=>1);
> var $name = "foo object";
>
> function foo ($name="") {
> if ($name)
> $this->name = $name;
> }
> }
>
> $o = new foo();
> $vars = get_class_vars("foo");
> print_r($vars);
>
> Outputs:
>
> Array
> (
> [boolarr] => Array
> (
> [false] => 0
> [true] => 1
> )
>
> [name] => foo object
> )
>
>
> Your code logic may be incorrect. Are you testing to
> see what type of result each array item has?
>
> Your note will be removed.
>
> --- albertjiang@yahoo.com wrote:
> > Doesn't work with member variables that are
> arrays.
> >
> >
> >
>
http://www.php.net/manual/function.get-class-vars.php
> >
> >
> >
> > --
> > PHP Notes Mailing List (http://www.php.net/)
> > To unsubscribe, e-mail:
> > php-notes-unsubscribe@lists.php.net
> > For additional commands, e-mail:
> > php-notes-help@lists.php.net
> > To contact the list administrators, e-mail:
> > php-list-admin@lists.php.net
> >
>
>
> =====
> --- Jesus M. Castagnetto (jcastagnetto@yahoo.com)
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Shopping - Thousands of Stores. Millions of
> Products.
> http://shopping.yahoo.com/
__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/