mirror of
https://github.com/php/php-src.git
synced 2024-10-04 16:26:13 +00:00
50 lines
700 B
PHP
Executable File
50 lines
700 B
PHP
Executable File
--TEST--
|
|
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() {
|
|
echo __METHOD__ . "\n";
|
|
}
|
|
|
|
static public function func() {
|
|
echo __METHOD__ . "\n";
|
|
}
|
|
}
|
|
|
|
foo::bar();
|
|
|
|
$static_method = "foo::bar";
|
|
|
|
$static_method();
|
|
|
|
/* The following is a BC break with PHP 4 where it would
|
|
* call foo::fail. In PHP 5 we first evaluate static class
|
|
* properties and then do the function call.
|
|
*/
|
|
$method = 'fail';
|
|
foo::$method();
|
|
?>
|
|
===DONE===
|
|
--EXPECT--
|
|
func
|
|
foo::bar
|
|
foo::bar
|
|
func
|
|
===DONE===
|