From 5098c06cdda162bcb91e38eee37b1235aa9be74e Mon Sep 17 00:00:00 2001 From: Christoph Michael Becker Date: Tue, 18 Aug 2015 13:41:19 +0000 Subject: [PATCH] if __construct() and old-style constructor are present, PHP chooses whichever comes first (fixes #66926) git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@337534 c90b9560-bf6c-de11-be94-00142212c4b1 --- language/oop5/decon.xml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml index b8ad55ffa7..3cbb255287 100644 --- a/language/oop5/decon.xml +++ b/language/oop5/decon.xml @@ -62,13 +62,15 @@ $obj = new OtherSubClass(); - For backwards compatibility, if PHP 5 cannot find a - __construct() function for a given class, and the - class did not inherit one from a parent class, it will - search for the old-style constructor function, by the name of the class. + For backwards compatibility, if a + class did not inherit a __construct() from a parent class, + either __construct() or the + old-style constructor function with the name of the class will be used as constructor function, + whichever comes first. Effectively, it means that the only case that would have compatibility issues is if the class had a method named - __construct() which was used for different semantics. + __construct() which was used for different semantics, + and which came lexically before the old-style constructor. Unlike with other methods, PHP will not generate an