mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Move more low-hanging fruit, creating new directories for the tests for: * comparisons * dynamic calls * error messages * `error_reporting()` * exceptions * `foreach()` * garbage collection * group `use` statements * heredoc and nowdoc * `goto` jumps * late static binding * magic methods * namespaces * numeric literal separators * objects * `settype()` * cleaning of temporary values * `unset()` Additionally, move some tests into the existing subdirectory for `list()` tests. Drive-by fixes of some test numbers in the names of the `goto` tests. Work towards GH-15631
31 lines
576 B
PHP
31 lines
576 B
PHP
--TEST--
|
|
Dynamic static call of non-static method
|
|
--FILE--
|
|
<?php
|
|
class Foo {
|
|
function test1() {
|
|
$method = ['Foo', 'bar'];
|
|
$method();
|
|
}
|
|
function test2() {
|
|
$method = 'Foo::bar';
|
|
$method();
|
|
}
|
|
function __call($name, $args) {}
|
|
}
|
|
$x = new Foo;
|
|
try {
|
|
$x->test1();
|
|
} catch (Error $e) {
|
|
echo $e->getMessage(), "\n";
|
|
}
|
|
try {
|
|
$x->test2();
|
|
} catch (Error $e) {
|
|
echo $e->getMessage(), "\n";
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
Non-static method Foo::bar() cannot be called statically
|
|
Non-static method Foo::bar() cannot be called statically
|