Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78861 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37904 invoked from network); 10 Nov 2014 09:55:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Nov 2014 09:55:48 -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.212.181 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 209.85.212.181 mail-wi0-f181.google.com Received: from [209.85.212.181] ([209.85.212.181:59389] helo=mail-wi0-f181.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1D/A0-29478-2AB80645 for ; Mon, 10 Nov 2014 04:55:47 -0500 Received: by mail-wi0-f181.google.com with SMTP id n3so9821088wiv.8 for ; Mon, 10 Nov 2014 01:55:40 -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; bh=N7vg8XkphWQZ9Swi/GdWimOYXO63XdiIhXQNQoHU9M4=; b=jT1Em9IzFuiMIOKs2JbuLQcQ/9kQZPoMHFgkB9lKmBRa95vV6MTXkH5kPVeOBUUYa0 PIWHhvPDuIJxjSc+y5N7Jl7BP86nym+F+zMuk21RaqxOWEcoXAaspi24TnSOb+Yqr+lA wRCPQ9O5cBTDW5hZs1RUxRnwDzFxpYuCuPCJeTaJDau8sgI6kzjlMvCj0hAgOvEtqiWA LL5dxad+3inwfZ5ZTUgiQcuGUR4VdJ8jKe4p9zMS394wETHCChUgP5q18rCqBHHWD+Jm VTNbW4T78dcsReHwTCXf1UMyOT7Vw4cZWNpgsHDf+uzWnZ/DIVXFyMH2a4URkeje/SN7 PE+Q== X-Received: by 10.180.107.35 with SMTP id gz3mr29367585wib.38.1415613340284; Mon, 10 Nov 2014 01:55:40 -0800 (PST) Received: from [192.168.0.139] ([62.189.198.114]) by mx.google.com with ESMTPSA id gy4sm12746793wib.11.2014.11.10.01.55.38 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Nov 2014 01:55:39 -0800 (PST) Message-ID: <54608B79.9090706@gmail.com> Date: Mon, 10 Nov 2014 09:55:05 +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: <3E2593DC-5755-48A6-8802-6F2FB3625778@ajf.me> <04723EAD-4C8E-41C2-BE81-4989882A0C69@ajf.me> <545B26BB.9020406@lsces.co.uk> <545B589A.4010606@gmx.de> <545B66AB.2000109@lsces.co.uk> <545C2785.4010004@gmx.de> <545FD319.3040703@lsces.co.uk> <545FE3BC.9020707@gmail.com> <545FED0D.7000701@lsces.co.uk> In-Reply-To: <545FED0D.7000701@lsces.co.uk> Content-Type: multipart/alternative; boundary="------------040608000506060809060900" Subject: Re: [PHP-DEV] Thresholds of backwards compatibility breaks From: rowan.collins@gmail.com (Rowan Collins) --------------040608000506060809060900 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Lester Caine wrote on 09/11/2014 22:39: > On 09/11/14 21:59, Rowan Collins wrote: >> None of which has anything to do with E_STRICT. Strict notices aren't >> indications that behaviour has changed; since we have E_DEPRECATED, they >> shouldn't even indicate behaviour is about to change; they just indicate >> that there might be a better way of doing what you're doing. I don't >> know why you consider them to be in the same category as code >> compatibility at all. > That the traditional method of using PHP5 is no longer politically > correct is the problem here. One can not use both methods of working at > the same time, and since in many cases the third party libraries HAVE > been upgraded and require a later version of PHP even to run, HELPING > users who had perfectly functional sites based on code that was created > using what are still current tutorials but which no longer produce > acceptable code is the main problem here. To pretend that PHP5.4 and > later can safely run legacy code is the problem, and these are BC breaks > that people are pretending have not happened simply because they assume > they can be ignored. Yes, many pieces of software have a minimum PHP version to run, often because they make use of useful new features, e.g. namespaces and closures from PHP 5.3. This is a very different kind of compatibility from old software not working on newer versions of PHP; it is up to the projects in question to decide which versions to support. > One method of working may be to configure a PHP setup which blocks any > use of e_strict compliant rules and make sure only legacy compatible > code is running. Then legacy sites can be kept running without the > effort of converting the code to clean e_strict compliance. The main > question that should probably be asked is if PHP7 will maintain this > source of confusion or ONLY allow e_strict compliance? Certainly I'd > prefer to see this on plugged. It is all to easy to have some upgrade > override your settings and introduce random breaks in things. THAT is > still a major source of agro, with third party libraries overriding > settings after one has ensured there were set correctly. It's not SIMPLY > ensuring that the hosting is set up correctly, it's the fact that any > library can screw that up! There should be no problem with fixing some strict notices and not others, so I don't understand your comment on blocking e_strict compliance in order to run legacy code. Can you give an example of a notice where you would want to actually *prevent compliance*, rather than just ignoring the notice if you don't have time to fix it? Again, updating code may well raise the minimum required PHP version, but this is much more likely to be because the developer wants to take advantage of new features, not because they're trying to run with no strict notices. -- *Rowan Collins* *Senior Developer | CWT Digital* *t.* 0845 456 0070 *w.*cwtdigital.com --------------040608000506060809060900--