PHP :: Bug #30209 :: ReflectionClass::getMethod() lowercases attribute
| Bug #30209 | ReflectionClass::getMethod() lowercases attribute | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2004-09-23 16:26 UTC | Modified: | 2004-09-23 21:04 UTC |
|
||||||||||
| From: | sb at sebastian-bergmann dot de | Assigned: | helly (profile) | |||||||||||
| Status: | Closed | Package: | Scripting Engine problem | |||||||||||
| PHP Version: | 5.0.1 | OS: | * | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2004-09-23 16:26 UTC] sb at sebastian-bergmann dot de
Description:
------------
Calling getMethod() on a ReflectionClass object for the current object lowercases the contents of the variable that is passed to it.
Hardcoding the getMethod() parameter prevents the lowercasing while copying the value from $this->name to $name and passing that to getMethod() does not.
Reproduce code:
---------------
<?php
class Foo {
private $name = 'testBar';
public function testBar() {
try {
$class = new ReflectionClass($this);
var_dump($this);
$method = $class->getMethod($this->name);
var_dump($this);
}
catch (Exception $e) {}
}
}
$foo = new Foo;
$foo->testBar();
?>
Expected result:
----------------
object(Foo)#1 (1) {
["name:private"]=>
string(7) "testBar"
}
object(Foo)#1 (1) {
["name:private"]=>
string(7) "testBar"
}
Actual result:
--------------
object(Foo)#1 (1) {
["name:private"]=>
string(7) "testBar"
}
object(Foo)#1 (1) {
["name:private"]=>
string(7) "testbar"
}
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2004-09-23 21:04 UTC] sebastian@php.net
[2004-10-07 05:25 UTC] sohu119 at sohu dot com