ID: 28114 Updated by: [EMAIL PROTECTED] Reported By: adam at trachtenberg dot com -Status: Assigned +Status: Wont fix Bug Type: Zend Engine 2 problem Operating System: * PHP Version: 5CVS-2005-01-10 Assigned To: helly New Comment:
It is impossible to get the values of the default parameters. Getting the types for the parameters depends on the developers of the classes. The classes i did should all have that information. For the rest i set the report to won't fix because i don't suppose you can convince the developers to add that information. Or you do it yourself :-) Previous Comments: ------------------------------------------------------------------------ [2005-01-10 18:08:28] adam at trachtenberg dot com Yes. For example: php -r 'ReflectionClass::export(ReflectionClass);' None of the methods have parameters, and I know some of them (__construct, export, etc.) definitely do. ------------------------------------------------------------------------ [2005-01-10 15:23:00] [EMAIL PROTECTED] Still an issue? ------------------------------------------------------------------------ [2004-04-23 05:49:55] adam at trachtenberg dot com Your example is shorter, but I wanted to make it clear that things worked okay for user defined classes. BTW, I didn't know this was a known issue. ------------------------------------------------------------------------ [2004-04-23 01:50:29] [EMAIL PROTECTED] This is a known issue for several internal classes. Btw, why don't you use: php -r 'ReflectionClass::export($argv[1]);' ? ------------------------------------------------------------------------ [2004-04-23 01:42:41] adam at trachtenberg dot com Description: ------------ The Reflection API doesn't return parameter information for built-in classes, like it does for user-defined classes. Reproduce code: --------------- // userland class class ReflectionTest { function test($foo, $bar) {} } Reflection::export( new ReflectionClass('ReflectionTest')); // example of a system class Reflection::export(new ReflectionClass('Exception')); Expected result: ---------------- The "methods" section of "Exception" should look like similar to the "methods" section of "ReflectionTest" In other words, there should be a "Parameters" block for methods, like __construct(), that take parameters. This doesn't just apply to Exception, but all classes written in C. Actual result: -------------- ReflectionTest: - Methods [1] { Method [ <user> public method test ] { @@ /www/reflection.php 9 - 9 - Parameters [2] { Parameter #0 [ $foo ] Parameter #1 [ $bar ] } } Exception: - Methods [9] { Method [ <internal> final private method __clone ] { } Method [ <internal> <ctor> method __construct ] { } Method [ <internal> final public method getMessage ] { } Method [ <internal> final public method getCode ] { } Method [ <internal> final public method getFile ] { } Method [ <internal> final public method getLine ] { } Method [ <internal> final public method getTrace ] { } Method [ <internal> final public method getTraceAsString ] { } Method [ <internal> public method __toString ] { } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28114&edit=1