Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79051 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 22096 invoked from network); 20 Nov 2014 20:54:04 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Nov 2014 20:54:04 -0000 Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.44 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.218.44 mail-oi0-f44.google.com Received: from [209.85.218.44] ([209.85.218.44:55912] helo=mail-oi0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 22/52-07686-AE45E645 for ; Thu, 20 Nov 2014 15:54:03 -0500 Received: by mail-oi0-f44.google.com with SMTP id e131so2671270oig.31 for ; Thu, 20 Nov 2014 12:54:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=yJCVmF19IosAc/ROKIcneryNKLbZAb9BmN1jmPVl6gc=; b=sJrB1wuYT56PwHWkN1X/232UAzCFL+i8adHlww3FoMMn+G/EfWgOSLJukrE/LApsCU 520mJ19pOO/htxhLhYpxiXZ/3Y8pzzLT4MQs1pPqvVpOiElH4bNtztEpW5uS/tW4iKL3 xPYUL3PMf7pysPqBQSZ5JN2cjaBbYRSwkRBHiJUICR6gQxk7iB6SDus4Q5PmRTc4wUtS N0dyv0hsqXkxr442mzC7VpvqsQgzl5EPE+WnQh3uaadkIstRLmHXI6noEvR3q9mCasWX zh3GTcouG1BRpgRD/JONQlFhQDQDiUHPWkbWe1GSXrVQP1U8dKauc9DEW8MyQ6BxqFel GH5g== MIME-Version: 1.0 X-Received: by 10.202.72.85 with SMTP id v82mr331353oia.14.1416516840159; Thu, 20 Nov 2014 12:54:00 -0800 (PST) Sender: morrison.levi@gmail.com Received: by 10.76.89.237 with HTTP; Thu, 20 Nov 2014 12:54:00 -0800 (PST) In-Reply-To: <1416502819.15061.38.camel@kuechenschabe> References: <546C9E22.6090301@fedoraproject.org> <20141119134632.GV2294@phcomp.co.uk> <546CA8C0.1060707@gmail.com> <20141119143329.GX2294@phcomp.co.uk> <1416476628.15061.4.camel@kuechenschabe> <1416502819.15061.38.camel@kuechenschabe> Date: Thu, 20 Nov 2014 13:54:00 -0700 X-Google-Sender-Auth: y5Em5fifHarnnnaaKe17F_2DZNk Message-ID: To: =?UTF-8?Q?Johannes_Schl=C3=BCter?= Cc: Alain Williams , internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] Remove PHP 4 Constructors From: levim@php.net (Levi Morrison) >> I just want to make sure I understand you correctly: you are saying >> you are voting no on this RFC because a tool, which is not part of >> this RFC but we kindly provide, doesn't detect when a certain thing is >> called? > > It is a non-trivial change. Fixing this is not always as some people > might suggest. 1) Identify PHP 4 constructors using one of several tools (including upgrading to PHP 5.7 and getting E_DEPRECATEDs). 2) Use one of the several tools that support method rename refactoring (Netbeans, PhpStorm, and others) to rename the methods to __construct. You could probably automate it with a very high degree of success; I just don't want to automatically change code for liability reasons. I think you are exaggerating the required work given the tools we have at our disposal=E2=80=A6 =E2=80=A6but that's okay. You can think and vote however you chose. > We can deprecate it in 7 (and fix code in our distribution) and then > take a next step in a later version, though. I am proposing E_DEPRECATED in PHP 5.7, just as the RFC for using multiple default statements in switches (which was accepted, by the way). Updating to PHP 5.7 first gives you more time to prepare for this and other BC breaks for PHP 7. There are already a few, and I suspect we'll have a few more before it's shipped.