#21463 [Opn->Bgs]: Overload __call method argument lowercase
| From: | gschlossnagle@php.net | Date: | Mon, 06 Jan 2003 15:56:40 +0000 |
| Subject: | #21463 [Opn->Bgs]: Overload __call method argument lowercase | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-29202@lists.php.net to get a copy of this message | ||
ID: 21463
Updated by: gschlossnagle@php.net
Reported By: hfuecks@phppatterns.com
-Status: Open
+Status: Bogus
Bug Type: Class/Object related
Operating System: Windows NT 4
PHP Version: 4.3.0
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
In PHP function/method names are case-insensitive, so they
all get auto-converted to lowercase.
Previous Comments:
------------------------------------------------------------------------
[2003-01-06 09:48:43] hfuecks@phppatterns.com
Seems the magic __call() function used with the overload extension is
converting the name of the function called (the first argument of
__call()) to lowercase.
Best summarized with a script;
<?php
class Test {
function Test () {
echo ('Test constructed<br />');
}
function __call($method,$args) {
echo ( 'Method called: '.$method.'<br />' );
switch ( $method ) {
case 'testa':
echo ('testa('.$args[0].') success<br />');
break;
case 'TestB':
echo ('TestB('.$args[0].') success<br />');
break;
case 'TESTC':
echo ('TESTC('.$args[0].') success<br />');
break;
default:
echo ('Method unknown<br />');
break;
}
}
}
overload('Test');
$o=new Test();
$o->testa(1);
$o->TestA(2);
$o->TESTA(3);
$o->testb(1);
$o->TestB(2);
$o->TESTB(3);
$o->testc(1);
$o->TestC(2);
$o->TESTC(3);
?>
Output of above script;
Test constructed
Method called: testa
testa(1) success
Method called: testa
testa(2) success
Method called: testa
testa(3) success
Method called: testb
Method unknown
Method called: testb
Method unknown
Method called: testb
Method unknown
Method called: testc
Method unknown
Method called: testc
Method unknown
Method called: testc
Method unknown
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21463&edit=1