1--TEST--
2ReflectionMethod::isConstructor()
3--FILE--
4<?php
5
6class NewCtor {
7    function __construct() {
8        echo "In " . __METHOD__ . "\n";
9    }
10
11}
12echo "New-style constructor:\n";
13$methodInfo = new ReflectionMethod("NewCtor::__construct");
14var_dump($methodInfo->isConstructor());
15
16class ExtendsNewCtor extends NewCtor {
17}
18echo "\nInherited new-style constructor\n";
19$methodInfo = ReflectionMethod::createFromMethodName("ExtendsNewCtor::__construct");
20var_dump($methodInfo->isConstructor());
21
22class X {
23    function Y() {
24        echo "In " . __METHOD__ . "\n";
25    }
26}
27echo "\nNot a constructor:\n";
28$methodInfo = ReflectionMethod::createFromMethodName("X::Y");
29var_dump($methodInfo->isConstructor());
30
31class Y extends X {
32}
33echo "\nInherited method of the same name as the class:\n";
34$methodInfo = ReflectionMethod::createFromMethodName("Y::Y");
35var_dump($methodInfo->isConstructor());
36
37?>
38--EXPECT--
39New-style constructor:
40bool(true)
41
42Inherited new-style constructor
43bool(true)
44
45Not a constructor:
46bool(false)
47
48Inherited method of the same name as the class:
49bool(false)
50