Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78966 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 52610 invoked from network); 18 Nov 2014 23:06:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2014 23:06:38 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.169 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 209.85.212.169 mail-wi0-f169.google.com Received: from [209.85.212.169] ([209.85.212.169:34921] helo=mail-wi0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 8C/78-06737-EF0DB645 for ; Tue, 18 Nov 2014 18:06:38 -0500 Received: by mail-wi0-f169.google.com with SMTP id r20so7237670wiv.4 for ; Tue, 18 Nov 2014 15:06:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=WYNG6S+RJkCJj8guXQ/trn9k8n4RqpuiDbcxtHGG6cw=; b=zTnBU0qO6Pdue+HbFll2nQzfHK3OjGuXO9G1sUYPMWxCcXh8DXo7UABxCvHAgOOCrH NpPIRhKoXlnzTL3FDyx2gWQ8k6cDkrN7ZW88u5XBXXr1p+/0jkLBHWF5B0HmB3BZ6Mcs LttJJpuTTPLOoeJydiMRudiLFLK67Qv+nT5GR1qOPe9gm7w3538Icro/S5GlfEiJ+5GX ixSIMuHEtLxkCdxHRHJ9qY2FP0MHTskMq9TBKws/qc7RhOvzWha2VNxteTU71XAAMX2R lpd8t3Sm9VAi7CkrobbfbVXHS/iaEtm42z/JY7iP6o9o4X595/NTNTD0aqU8FX/49yoa MLFA== X-Received: by 10.180.10.231 with SMTP id l7mr7709123wib.1.1416351994892; Tue, 18 Nov 2014 15:06:34 -0800 (PST) Received: from [192.168.0.2] (cpc68956-brig15-2-0-cust215.3-3.cable.virginm.net. [82.6.24.216]) by mx.google.com with ESMTPSA id bo1sm24881723wjc.18.2014.11.18.15.06.33 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Nov 2014 15:06:34 -0800 (PST) Message-ID: <546BD0E8.6020609@gmail.com> Date: Tue, 18 Nov 2014 23:06:16 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: internals@lists.php.net References: <546B0F62.1090705@gmail.com> <546B95F2.2050504@gmail.com> <546BBF4F.8040806@gmail.com> <919EDD0D-F0F4-430A-A84B-96A32DF45E7B@ajf.me> <546BCE21.7080403@gmail.com> In-Reply-To: <546BCE21.7080403@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Default constructors From: rowan.collins@gmail.com (Rowan Collins) On 18/11/2014 22:54, Stanislav Malyshev wrote: > It is most definitely not a bug, it's the intended behavior that has > been coded so and has been in PHP for a very long time. You may argue it > should not be so, and it should be changed, that's fine, but it's not > what is called a bug - it's not a mistake, it's how it was intended to > work. "Been in PHP for a very long time" != "how it was intended to work". Can you explain why this would be the intention of anyone designing the language? It seems to me that it is an unforeseen side effect of a different feature - that when raising a Fatal Error for a non-existent function or method, the runtime bails out immediately, without bothering to evaluate the arguments. That's very different from a non-existent constructor call *successfully executing* without its parameters being evaluated. It's a mistake that was made a long time ago, and nobody's thought it worth the effort to fix, but it's still a mistake, IMHO. -- Rowan Collins [IMSoP]