mirror of
https://github.com/php/php-src.git
synced 2024-09-24 19:37:26 +00:00
c9f27ee422
TypeException stays as-is for now because it uses messages that are incompatible with the way exception messages are displayed. closure_038.phpt and a few others now show that we're generating too many exceptions for compound operations on undefined properties -- this needs to be fixed in a followup.
31 lines
711 B
PHP
31 lines
711 B
PHP
--TEST--
|
|
Bug #61025 (__invoke() visibility not honored)
|
|
--FILE--
|
|
<?php
|
|
|
|
Interface InvokeAble {
|
|
static function __invoke();
|
|
}
|
|
|
|
class Bar {
|
|
private function __invoke() {
|
|
return __CLASS__;
|
|
}
|
|
}
|
|
|
|
$b = new Bar;
|
|
echo $b();
|
|
|
|
echo $b->__invoke();
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Warning: The magic method __invoke() must have public visibility and cannot be static in %sbug61025.php on line %d
|
|
|
|
Warning: The magic method __invoke() must have public visibility and cannot be static in %sbug61025.php on line %d
|
|
Bar
|
|
Fatal error: Uncaught exception 'EngineException' with message 'Call to private method Bar::__invoke() from context ''' in %sbug61025.php:%d
|
|
Stack trace:
|
|
#0 {main}
|
|
thrown in %sbug61025.php on line %d
|