mirror of
https://github.com/php/php-src.git
synced 2024-12-25 01:40:50 +08:00
32 lines
762 B
PHP
32 lines
762 B
PHP
--TEST--
|
|
Bug #22725 (A derived class can call a parent's protected method that calls a private method)
|
|
--SKIPIF--
|
|
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
|
|
--FILE--
|
|
<?php
|
|
class Foo {
|
|
private function aPrivateMethod() {
|
|
echo "Foo::aPrivateMethod() called.\n";
|
|
}
|
|
|
|
protected function aProtectedMethod() {
|
|
echo "Foo::aProtectedMethod() called.\n";
|
|
$this->aPrivateMethod();
|
|
}
|
|
}
|
|
|
|
class Bar extends Foo {
|
|
public function aPublicMethod() {
|
|
echo "Bar::aPublicMethod() called.\n";
|
|
$this->aProtectedMethod();
|
|
}
|
|
}
|
|
|
|
$o = new Bar;
|
|
$o->aPublicMethod();
|
|
?>
|
|
--EXPECT--
|
|
Bar::aPublicMethod() called.
|
|
Foo::aProtectedMethod() called.
|
|
Foo::aPrivateMethod() called.
|