mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +02:00
Check handling of private class members
This commit is contained in:
parent
5500287432
commit
47a881f01c
1 changed files with 103 additions and 0 deletions
103
tests/classes/private_members.phpt
Executable file
103
tests/classes/private_members.phpt
Executable file
|
@ -0,0 +1,103 @@
|
|||
--TEST--
|
||||
A private member is
|
||||
--SKIPIF--
|
||||
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
|
||||
--FILE--
|
||||
<?
|
||||
|
||||
class base
|
||||
{
|
||||
private $member;
|
||||
|
||||
function __construct()
|
||||
{
|
||||
echo __METHOD__ . "(begin)\n";
|
||||
$this->member = 'base::member';
|
||||
$this->test();
|
||||
echo __METHOD__ . "(end)\n";
|
||||
}
|
||||
|
||||
function test()
|
||||
{
|
||||
echo __METHOD__ . "\n";
|
||||
print_r($this);
|
||||
}
|
||||
}
|
||||
|
||||
class derived extends base
|
||||
{
|
||||
public $member = 'derived::member (default)';
|
||||
|
||||
function __construct()
|
||||
{
|
||||
echo __METHOD__ . "(begin)\n";
|
||||
parent::__construct();
|
||||
parent::test();
|
||||
$this->test();
|
||||
$this->member = 'derived::member';
|
||||
echo __METHOD__ . "(end)\n";
|
||||
}
|
||||
|
||||
function test()
|
||||
{
|
||||
parent::test();
|
||||
echo __METHOD__ . "\n";
|
||||
print_r($this);
|
||||
}
|
||||
}
|
||||
|
||||
$t = new derived;
|
||||
$t->test();
|
||||
unset($t);
|
||||
|
||||
echo "Done\n";
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
derived::__construct(begin)
|
||||
base::__construct(begin)
|
||||
base::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member (default)
|
||||
[member:private] => base::member
|
||||
)
|
||||
derived::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member (default)
|
||||
[member:private] => base::member
|
||||
)
|
||||
base::__construct(end)
|
||||
base::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member (default)
|
||||
[member:private] => base::member
|
||||
)
|
||||
base::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member (default)
|
||||
[member:private] => base::member
|
||||
)
|
||||
derived::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member (default)
|
||||
[member:private] => base::member
|
||||
)
|
||||
derived::__construct(end)
|
||||
base::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member
|
||||
[member:private] => base::member
|
||||
)
|
||||
derived::test
|
||||
derived Object
|
||||
(
|
||||
[member] => derived::member
|
||||
[member:private] => base::member
|
||||
)
|
||||
Done
|
Loading…
Add table
Add a link
Reference in a new issue