Edit report at http://bugs.php.net/bug.php?id=54347&edit=1
ID: 54347 Updated by: fel...@php.net Reported by: laruence at yahoo dot com dot cn Summary: reflection_extension does not lowercase module function name -Status: Open +Status: Closed Type: Bug Package: Reflection related Operating System: any PHP Version: Irrelevant -Assigned To: +Assigned To: felipe Block user comment: N Private report: N New Comment: This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2011-06-10 00:45:38] fel...@php.net Automatic comment from SVN on behalf of felipe Revision: http://svn.php.net/viewvc/?view=revision&revision=311990 Log: - Fixed bug #54347 (reflection_extension does not lowercase module function name) patch by: laruence at yahoo dot com dot cn ------------------------------------------------------------------------ [2011-05-25 14:13:46] neuhauser+bugs dot php dot net at sigpipe dot cz i'm wrapping a third-party C library that exposes functions named with camel case. i need to keep the function names. this bug makes the implementation more verbose, and the names returned from ReflectionExtension are harder to read. this bug (or limitation) should be pointed out in http://www.php.net/manual/en/internals2.funcs.php ------------------------------------------------------------------------ [2011-03-22 16:01:31] cataphr...@php.net This should still probably be fixed, but the functions should be declared with lowercase names. If you search for PHP_FE in lxr.php.net, you'll notice this is always the case. In any case, since zend_register_functions does a lowercasing of the function names in the module list, the reflection ext should do it too. But for forward compatibility (in the future we may want to reduce the points where names are lowercased), it would be best if the extension follows the convention. ------------------------------------------------------------------------ [2011-03-22 13:36:18] laruence at yahoo dot com dot cn Description: ------------ in static void _extension_string(string *str, zend_module_entry *module, char *indent TSRMLS_DC) in php_reflection.c when reflect extension functions , the codes: while (func->fname) { if (zend_hash_find(EG(function_table), func->fname, strlen(func->fname) + 1, (void**) &fptr) == FAILURE) { } when func->fname is not lowercase cause a PHP warning: Warning: Internal error: Cannot find extension function qrcode_encodeString in global function table in Unknown on line 0 Test script: --------------- no Expected result: ---------------- no Actual result: -------------- no ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=54347&edit=1