mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
db2e2af13a
We should handle the case where the method doesn't exist, and where it is not visible the same way.
34 lines
719 B
PHP
34 lines
719 B
PHP
--TEST--
|
|
Bug #53826: __callStatic fired in base class through a parent call if the method is private
|
|
--FILE--
|
|
<?php
|
|
|
|
class A1 {
|
|
public function __call($method, $args) { echo "__call\n"; }
|
|
public static function __callStatic($method, $args) { echo "__callStatic\n"; }
|
|
}
|
|
|
|
class A2 { // A1 with private function test
|
|
public function __call($method, $args) { echo "__call\n"; }
|
|
public static function __callStatic($method, $args) { echo "__callStatic\n"; }
|
|
private function test() {}
|
|
}
|
|
|
|
class B1 extends A1 {
|
|
public function test(){ parent::test(); }
|
|
}
|
|
|
|
class B2 extends A2 {
|
|
public function test(){ parent::test(); }
|
|
}
|
|
|
|
$test1 = new B1;
|
|
$test2 = new B2;
|
|
$test1->test();
|
|
$test2->test();
|
|
|
|
?>
|
|
--EXPECT--
|
|
__call
|
|
__call
|