Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:80699 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 85128 invoked from network); 17 Jan 2015 15:43:50 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Jan 2015 15:43:50 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.47 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 209.85.215.47 mail-la0-f47.google.com Received: from [209.85.215.47] ([209.85.215.47:36766] helo=mail-la0-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7B/A1-09166-6338AB45 for ; Sat, 17 Jan 2015 10:43:50 -0500 Received: by mail-la0-f47.google.com with SMTP id hz20so23122793lab.6 for ; Sat, 17 Jan 2015 07:43:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=VV05/d+VopmdPB1KOozCP72TG4rYUOsrC0gXtlX2djo=; b=CcCCBgVN7i9LGaE/rw8+CHNvbkJEmdU1X/CU77hWSpw6t051gZmglilZc4YebpoMj+ kTXMJnLcLnYlThtl2evSru1O/7VKUX1MqmOdzkPgVDLsZNbpiVVTAGF+gvprPOQN/tZF hhK4Kk98YWdfKUwQzb5w5tTt5TgqKwfEBzDLAusqdBHR9lBrTwR2Q1uxAGWhithnhXFM 2v9Pm2iji0cFuHNw7wJE2kqSHh+BgdKDZXYUgH/LJa4w4w2Nb9bXQ/FOC8lSACtOkpg+ nDraeByiNTah/GSfucWDyqSORvPcylJVqAjSL7zcYza7+SkYmBTmVaDz4Ke3bDh25XcY EDrA== MIME-Version: 1.0 X-Received: by 10.152.5.7 with SMTP id o7mr21064895lao.26.1421509427748; Sat, 17 Jan 2015 07:43:47 -0800 (PST) Received: by 10.25.206.144 with HTTP; Sat, 17 Jan 2015 07:43:47 -0800 (PST) In-Reply-To: <54BA65DD.10801@rodas.me> References: <0DD30A0D-E7CA-4150-83E0-8FD46635279C@ajf.me> <8761c6280g.fsf@margaine.com> <54B91D16.70901@gmail.com> <54BA65DD.10801@rodas.me> Date: Sat, 17 Jan 2015 15:43:47 +0000 Message-ID: Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=089e01419d8a7c63db050cdaf493 Subject: Re: [PHP-DEV] [RFC] Remove PHP 4 Constructors From: rowan.collins@gmail.com (Rowan Collins) --089e01419d8a7c63db050cdaf493 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 17 January 2015 at 13:38, C=C3=A9sar Rodas wrote: > Hi Pierre! > > On 17/01/15 08:02, Pierre Joye wrote: > > On Jan 17, 2015 5:58 PM, "Tony Marston" wrote= : > >> > >> "Stelian Mocanita" wrote in message > >> news:CAMc0WS5LpdVqF_5P8UiWBzuQc+maX+Shmmi8pZLgGRfOJ7aEmg@mail.gmail.co= m. > .. > >>> > >>> > >>> Florian Margaine wrote on 16/01/2015 13:01: > >>> > >>> Hi Stelian, > >>>> > >>>> > >>>> Stelian Mocanita writes: > >>>> > >>>> Not under active development doesn't mean that the application > shouldn't > >>>> be able to upgrade PHP and enjoy the bug/security fixes or performan= ce > >>>> improvements that new versions provide. > >> > >> > >> I agree. If the core developers want each new release, with its bug > fixes > >> and security enhancements, to be adopted by the community then they > should > >> stop breaking BC for no good reason. > > > > Can wie stop using this argument pls? > > > > We are talking about something deprecated since 10 years, about the 1st > > major release in a decade, something we will use for the next 12-14 > years. > > > > 5.x will be maintained as well for the next 3 years (plus distros LTS). > We > > do not break BC since quite some time too in minor releases. > > > > Cheers, > > Pierre > > > > Wouldn't be better if we borrow things from Perl? I mean, we have an > 'strict mode' (`use strict;` perhaps) where deprecated things doesn't > work at all and they throw exceptions (such as the old PH4 constructors > for instance). > > In this case, I think that would actually be the worst of both worlds - support for PHP 4 constructors would still need to be maintained in core, with extra logic for handling the mode switch. Meanwhile, people using old code with old constructors would never turn strict mode on, and people who turn strict mode on are probably already well aware that they should be using __construct. Annoying though it would be to receive dozens of them, I think issuing an E_DEPRECATED notice when such constructors are defined is probably the best approach for now. It does once again make me want medically scoped error reporting, though (e.g. ignore E_DEPRECATED and E_NOTICE raised in this PEAR module which I am phasing out anyway) --=20 Rowan Collins [IMSoP] --089e01419d8a7c63db050cdaf493--