mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
Add tests for dynamic static call to instance method
This commit is contained in:
parent
ffd36e0fc8
commit
f7565a93d8
28
Zend/tests/indirect_call_array_005.phpt
Normal file
28
Zend/tests/indirect_call_array_005.phpt
Normal file
@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Dynamic static call to instance method should throw.
|
||||
--CREDITS--
|
||||
Aaron Piotrowski <aaron@icicle.io>
|
||||
--FILE--
|
||||
<?php
|
||||
class TestClass
|
||||
{
|
||||
private $test;
|
||||
|
||||
public function method()
|
||||
{
|
||||
$this->test = 'test';
|
||||
return "Hello, world!\n";
|
||||
}
|
||||
}
|
||||
|
||||
$callback = ['TestClass', 'method'];
|
||||
echo $callback();
|
||||
?>
|
||||
--EXPECTF--
|
||||
Deprecated: Non-static method TestClass::method() should not be called statically in %s on line %d
|
||||
|
||||
Fatal error: Uncaught Error: Using $this when not in object context in %s:%d
|
||||
Stack trace:
|
||||
#0 %s(%d): TestClass::method()
|
||||
#1 {main}
|
||||
thrown in %s on line %d
|
28
Zend/tests/indirect_call_string_003.phpt
Normal file
28
Zend/tests/indirect_call_string_003.phpt
Normal file
@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Dynamic static call to instance method should throw.
|
||||
--CREDITS--
|
||||
Aaron Piotrowski <aaron@icicle.io>
|
||||
--FILE--
|
||||
<?php
|
||||
class TestClass
|
||||
{
|
||||
private $test;
|
||||
|
||||
public function method()
|
||||
{
|
||||
$this->test = 'test';
|
||||
return "Hello, world!\n";
|
||||
}
|
||||
}
|
||||
|
||||
$callback = 'TestClass::method';
|
||||
echo $callback();
|
||||
?>
|
||||
--EXPECTF--
|
||||
Deprecated: Non-static method TestClass::method() should not be called statically in %s on line %d
|
||||
|
||||
Fatal error: Uncaught Error: Using $this when not in object context in %s:%d
|
||||
Stack trace:
|
||||
#0 %s(%d): TestClass::method()
|
||||
#1 {main}
|
||||
thrown in %s on line %d
|
Loading…
Reference in New Issue
Block a user