mirror of
https://github.com/php/php-src.git
synced 2024-12-02 22:34:55 +08:00
62 lines
856 B
PHP
62 lines
856 B
PHP
--TEST--
|
|
Testing callback formats within class method
|
|
--FILE--
|
|
<?php
|
|
|
|
class foo {
|
|
public function test() {
|
|
call_user_func(array('FOO', 'ABC'));
|
|
call_user_func(array($this, 'ABC'));
|
|
foo::XYZ();
|
|
self::WWW();
|
|
call_user_func('FOO::ABC');
|
|
}
|
|
function __call($a, $b) {
|
|
print "__call:\n";
|
|
var_dump($a);
|
|
}
|
|
static public function __callStatic($a, $b) {
|
|
print "__callstatic:\n";
|
|
var_dump($a);
|
|
}
|
|
}
|
|
|
|
$x = new foo;
|
|
|
|
$x->test();
|
|
|
|
$x::A();
|
|
|
|
foo::B();
|
|
|
|
$f = 'FOO';
|
|
|
|
$f::C();
|
|
|
|
$f::$f();
|
|
|
|
foo::$f();
|
|
|
|
?>
|
|
--EXPECT--
|
|
__call:
|
|
string(3) "ABC"
|
|
__call:
|
|
string(3) "ABC"
|
|
__call:
|
|
string(3) "XYZ"
|
|
__call:
|
|
string(3) "WWW"
|
|
__call:
|
|
string(3) "ABC"
|
|
__callstatic:
|
|
string(1) "A"
|
|
__callstatic:
|
|
string(1) "B"
|
|
__callstatic:
|
|
string(1) "C"
|
|
__callstatic:
|
|
string(3) "FOO"
|
|
__callstatic:
|
|
string(3) "FOO"
|