TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
965 B
57 lines
965 B
--TEST--
|
|
ZE2 object cloning, 3
|
|
--FILE--
|
|
<?php
|
|
class base {
|
|
protected $p1 = 'base:1';
|
|
public $p2 = 'base:2';
|
|
public $p3 = 'base:3';
|
|
public $p4 = 'base:4';
|
|
public $p5 = 'base:5';
|
|
private $p6 = 'base:6';
|
|
public function __clone() {
|
|
}
|
|
};
|
|
|
|
class test extends base {
|
|
public $p1 = 'test:1';
|
|
public $p3 = 'test:3';
|
|
public $p4 = 'test:4';
|
|
public $p5 = 'test:5';
|
|
public function __clone() {
|
|
$this->p5 = 'clone:5';
|
|
}
|
|
}
|
|
function main() {
|
|
$obj = new test;
|
|
$obj->p4 = 'A';
|
|
$copy = clone $obj;
|
|
echo "Object\n";
|
|
print_r($obj);
|
|
echo "Clown\n";
|
|
print_r($copy);
|
|
echo "Done\n";
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
Object
|
|
test Object
|
|
(
|
|
[p1] => test:1
|
|
[p2] => base:2
|
|
[p3] => test:3
|
|
[p4] => A
|
|
[p5] => test:5
|
|
[p6:base:private] => base:6
|
|
)
|
|
Clown
|
|
test Object
|
|
(
|
|
[p1] => test:1
|
|
[p2] => base:2
|
|
[p3] => test:3
|
|
[p4] => A
|
|
[p5] => clone:5
|
|
[p6:base:private] => base:6
|
|
)
|
|
Done
|
|
|