diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /tests/classes/inheritance_002.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'tests/classes/inheritance_002.phpt')
-rw-r--r-- | tests/classes/inheritance_002.phpt | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/classes/inheritance_002.phpt b/tests/classes/inheritance_002.phpt new file mode 100644 index 0000000..cca528e --- /dev/null +++ b/tests/classes/inheritance_002.phpt @@ -0,0 +1,71 @@ +--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" |