Re: [RFC] Default constructors
| From: | Rowan Collins | Date: | Tue, 18 Nov 2014 21:51:11 +0000 |
| Subject: | Re: [RFC] Default constructors | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-78960@lists.php.net to get a copy of this message | ||
On 18/11/2014 18:54, Stanislav Malyshev wrote:
Hi!Personally, I would much prefer the backwards compatibility break to happen. It is frankly quite bizarre, and not at all useful, that the following two pieces of code behave differently: class Foo {} new Foo( print('hello') ); // silent vs class Foo { function __construct() {} } new Foo( print('hello') ); // says "hello" (Incidentally, HHVM doesn't have this "optimisation", and says "hello" in both cases: http://3v4l.org/ZDXs1) If I came upon this without knowing more, I would assume it was a bug in PHP, and any code relying on it was in need of fixing ASAP. Regards, -- Rowan Collins [IMSoP]You write:Ah, but the former describes the option that has been *rejected*. The option that was chosen instead does not have the BC break.Also, this can lead to more subtle BC breaks. Consider this code:And then further on:No backward incompatible changes, sin...that can not be both right.