Re: note 9782 added to get_class_vars

From: 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/

« previous php.notes (#8136) next »