ID: 49216 Updated by: j...@php.net Reported By: virgilp at gmail dot com -Status: Open +Status: Feedback Bug Type: Reflection related Operating System: Windows XP SP3 PHP Version: 5.2.10 New Comment:
host_info and such is only there when you actually have connected somewhere. How about you refine your report and try with an actual object first? Previous Comments: ------------------------------------------------------------------------ [2009-08-12 07:04:06] virgilp at gmail dot com I tried http://windows.php.net/downloads/snaps/php-5.2-nts-win32-VC6-x86- latest.zip - I get the same behaviour ------------------------------------------------------------------------ [2009-08-11 07:18:28] virgilp at gmail dot com Description: ------------ There are several things that go wrong with reflection on MySqli. 1. First and foremost - extracting mysqli::bind_param signature yields strange results: public function bind_param($); And the parameter in question (printed as "$") is in fact: ReflectionParameter::__set_state(array( 'name' => NULL, )) /// Null name!! I believe this is actually related to bug #45578 - but that one has been closed as being related to something completely different. 2. another odd thing is that reflection returns "final protected class mysqli_warning " (and a class can't be "protected"). 3. Several properties seem to be completely missing from reflection - e.g. the "host_info" property of mysqli. 4. Parameters are not shown in member methods - e.g. mysqli::prepare is shown to have 0 parameters (when in fact, it receives a string parameter). Reproduce code: --------------- $ext = new ReflectionExtension('mysqli'); $class_arr = $ext->getClassNames(); foreach($class_arr as $cls_name){ DumpClass($cls_name); } // I could give the implementation of DumpClass if needed, but it's straight out of the "reflection" examples, it prints the modifiers, class name, "extends", "implements" & properties/methods Expected result: ---------------- MySqli class seen through reflection the same way as it is documented on www.php.net Actual result: -------------- Wrong output from reflection (as listed in "description") ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49216&edit=1