mirror of
https://github.com/php/php-src.git
synced 2024-12-04 23:34:25 +08:00
72 lines
1.4 KiB
PHP
72 lines
1.4 KiB
PHP
--TEST--
|
|
ZE2 Constructor precedence
|
|
--SKIPIF--
|
|
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
|
|
--FILE--
|
|
<?php
|
|
class Base_php4 {
|
|
function Base_php4() {
|
|
var_dump('Base constructor');
|
|
}
|
|
}
|
|
|
|
class Child_php4 extends Base_php4 {
|
|
function Child_php4() {
|
|
var_dump('Child constructor');
|
|
parent::Base_php4();
|
|
}
|
|
}
|
|
|
|
class Base_php5 {
|
|
function __construct() {
|
|
var_dump('Base constructor');
|
|
}
|
|
}
|
|
|
|
class Child_php5 extends Base_php5 {
|
|
function __construct() {
|
|
var_dump('Child constructor');
|
|
parent::__construct();
|
|
}
|
|
}
|
|
|
|
class Child_mx1 extends Base_php4 {
|
|
function __construct() {
|
|
var_dump('Child constructor');
|
|
parent::Base_php4();
|
|
}
|
|
}
|
|
|
|
class Child_mx2 extends Base_php5 {
|
|
function Child_mx2() {
|
|
var_dump('Child constructor');
|
|
parent::__construct();
|
|
}
|
|
}
|
|
|
|
echo "### PHP 4 style\n";
|
|
$c4= new Child_php4();
|
|
|
|
echo "### PHP 5 style\n";
|
|
$c5= new Child_php5();
|
|
|
|
echo "### Mixed style 1\n";
|
|
$cm= new Child_mx1();
|
|
|
|
echo "### Mixed style 2\n";
|
|
$cm= new Child_mx2();
|
|
?>
|
|
--EXPECT--
|
|
### PHP 4 style
|
|
string(17) "Child constructor"
|
|
string(16) "Base constructor"
|
|
### PHP 5 style
|
|
string(17) "Child constructor"
|
|
string(16) "Base constructor"
|
|
### Mixed style 1
|
|
string(17) "Child constructor"
|
|
string(16) "Base constructor"
|
|
### Mixed style 2
|
|
string(17) "Child constructor"
|
|
string(16) "Base constructor"
|