Bug #49294 [Com]: ReflectionExtension::info() returns null
| From: | kalle@php.net | Date: | Fri, 28 May 2010 02:43:28 +0000 |
| Subject: | Bug #49294 [Com]: ReflectionExtension::info() returns null | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-150899@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=49294&edit=1
ID: 49294
Comment by: kalle@php.net
Reported by: andreww at uk dot ibm dot com
Summary: ReflectionExtension::info() returns null
Status: Assigned
Type: Bug
Package: Reflection related
Operating System: *
PHP Version: 5.*, 6 (2009-08-20)
Assigned To: johannes
New Comment:
Just FYI, my patch only contains the local value, not the master value.
But in the end we can always alter the info() method to return a multi
dim. array like:
php.ini:
apc.cache_by_default = 0;
Test script:
ini_set('apc.cache_by_default', '1');
$extension = new ReflectionExtension('apc');
$info = $extension->info();
printf('[local=%s] [master=%s]',
$info['ini']['apc.cache_by_default']['local'],
$info['ini']['apc.cache_by_default']['master']);
Would print:
[local=1] [master=0]
Previous Comments:
------------------------------------------------------------------------
[2010-05-28 04:34:13] kalle@php.net
I added a simple patch that alters ReflectionExtension::info() to have a
new optional parameter to return the information as an array. If it even
makes sense, since the information here can already be retrieved by the
getName(), getVersion() and getINIEntries() methods.
Johannes can you please review this and approve or reject it
------------------------------------------------------------------------
[2010-05-28 04:31:09] kalle@php.net
The following patch has been added/updated:
Patch Name: bug-49294
Revision: 1275013869
URL:
http://bugs.php.net/patch-display.php?bug=49294&patch=bug-49294&revision=1275013869
------------------------------------------------------------------------
[2009-08-20 10:37:05] jani@php.net
Assigned to Johannes who added this method. Seems quite weird that
there's one single method that just outputs stuff instead of returning
it. Not very consistent.
------------------------------------------------------------------------
[2009-08-20 09:54:59] jani@php.net
There is no such OS as "Any".
------------------------------------------------------------------------
[2009-08-19 13:45:36] andreww at uk dot ibm dot com
Description:
------------
The documentation for the ReflectionExtension class shows info() as
returning a string, but it returns NULL and prints the information
directly to the screen.
I used the Windows installer package from Jun 29 2009 (basic install, no
changes), but was also able to reproduce problem with the 5.3.1-dev snap
from Aug 19 2009
Reproduce code:
---------------
<?php
$ext = new ReflectionExtension('iconv');
$info = $ext->info();
printf("Info:\n%s\n", $info ? $info : 'NULL');
?>
Expected result:
----------------
Info:
iconv support => enabled
iconv implementation => "libiconv"
iconv library version => 1.11
Directive => Local Value => Master Value
iconv.input_encoding => ISO-8859-1 => ISO-8859-1
iconv.output_encoding => ISO-8859-1 => ISO-8859-1
iconv.internal_encoding => ISO-8859-1 => ISO-8859-1
Actual result:
--------------
iconv
iconv support => enabled
iconv implementation => "libiconv"
iconv library version => 1.11
Directive => Local Value => Master Value
iconv.input_encoding => ISO-8859-1 => ISO-8859-1
iconv.output_encoding => ISO-8859-1 => ISO-8859-1
iconv.internal_encoding => ISO-8859-1 => ISO-8859-1
Info:
NULL
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=49294&edit=1