File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / classes / inheritance_002.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 5 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: --TEST--
    2: ZE2 Constructor precedence
    3: --SKIPIF--
    4: <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
    5: --FILE--
    6: <?php
    7: class Base_php4 {
    8:   function Base_php4() {
    9:     var_dump('Base constructor');
   10:   }
   11: }
   12: 
   13: class Child_php4 extends Base_php4 {
   14:   function Child_php4() {
   15:     var_dump('Child constructor');
   16:     parent::Base_php4();
   17:   }
   18: }
   19: 
   20: class Base_php5 {
   21:   function __construct() {
   22:     var_dump('Base constructor');
   23:   }
   24:   }
   25: 
   26: class Child_php5 extends Base_php5 {
   27:   function __construct() {
   28:     var_dump('Child constructor');
   29:     parent::__construct();
   30:   }
   31:   }
   32: 
   33: class Child_mx1 extends Base_php4 {
   34:   function __construct() {
   35:     var_dump('Child constructor');
   36:     parent::Base_php4();
   37:   }
   38: }
   39: 
   40: class Child_mx2 extends Base_php5 {
   41:   function Child_mx2() {
   42:     var_dump('Child constructor');
   43:     parent::__construct();
   44:   }
   45: }
   46: 
   47: echo "### PHP 4 style\n";
   48: $c4= new Child_php4();
   49: 
   50: echo "### PHP 5 style\n";
   51: $c5= new Child_php5();
   52: 
   53: echo "### Mixed style 1\n";
   54: $cm= new Child_mx1();
   55: 
   56: echo "### Mixed style 2\n";
   57: $cm= new Child_mx2();
   58: ?>
   59: --EXPECT--
   60: ### PHP 4 style
   61: string(17) "Child constructor"
   62: string(16) "Base constructor"
   63: ### PHP 5 style
   64: string(17) "Child constructor"
   65: string(16) "Base constructor"
   66: ### Mixed style 1
   67: string(17) "Child constructor"
   68: string(16) "Base constructor"
   69: ### Mixed style 2
   70: string(17) "Child constructor"
   71: string(16) "Base constructor"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>