~ubuntu-branches/ubuntu/hardy/php5/hardy-updates

« back to all changes in this revision

Viewing changes to tests/classes/inheritance_002.phpt

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-10-09 03:14:32 UTC
  • Revision ID: james.westby@ubuntu.com-20051009031432-kspik3lobxstafv9
Tags: upstream-5.0.5
ImportĀ upstreamĀ versionĀ 5.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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"