mirror of
https://github.com/php/php-src.git
synced 2024-11-24 18:34:21 +08:00
Update
This commit is contained in:
parent
18ea05b746
commit
6118a91849
@ -2,11 +2,28 @@
|
||||
Bug #26802 (Can't call static method using a variable)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
||||
function func() {
|
||||
echo __METHOD__ . "\n";
|
||||
}
|
||||
|
||||
function work() {
|
||||
echo __METHOD__ . "\n";
|
||||
}
|
||||
|
||||
$function = 'func';
|
||||
$function();
|
||||
|
||||
class foo
|
||||
{
|
||||
static $method = 'func';
|
||||
|
||||
static public function bar() {
|
||||
print "baz\n";
|
||||
echo __METHOD__ . "\n";
|
||||
}
|
||||
|
||||
static public function func() {
|
||||
echo __METHOD__ . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,9 +33,17 @@ $static_method = "foo::bar";
|
||||
|
||||
$static_method();
|
||||
|
||||
/* The following is a BC break with PHP4 where it would
|
||||
* call foo::fail. In PHP5 we first evaluate static class
|
||||
* properties and then do the function call.
|
||||
*/
|
||||
$method = 'fail';
|
||||
foo::$method();
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
baz
|
||||
baz
|
||||
func
|
||||
foo::bar
|
||||
foo::bar
|
||||
func
|
||||
===DONE===
|
||||
|
Loading…
Reference in New Issue
Block a user