Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92676 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 83025 invoked from network); 24 Apr 2016 08:23:11 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Apr 2016 08:23:11 -0000 Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 217.147.176.214 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 217.147.176.214 mail4-2.serversure.net Linux 2.6 Received: from [217.147.176.214] ([217.147.176.214:50959] helo=mail4.serversure.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3C/60-14846-C628C175 for ; Sun, 24 Apr 2016 04:23:10 -0400 Received: (qmail 10413 invoked by uid 89); 24 Apr 2016 08:23:06 -0000 Received: by simscan 1.3.1 ppid: 10406, pid: 10409, t: 0.0877s scanners: attach: 1.3.1 clamav: 0.96/m:52/d:10677 Received: from unknown (HELO ?10.0.0.7?) (lester@rainbowdigitalmedia.org.uk@81.138.11.136) by mail4.serversure.net with ESMTPA; 24 Apr 2016 08:23:06 -0000 To: internals@lists.php.net References: <20160423230908.BD6F21A800F6@dd1730.kasserver.com> <571C7B79.6030706@fleshgrinder.com> Message-ID: <571C8269.6000505@lsces.co.uk> Date: Sun, 24 Apr 2016 09:23:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <571C7B79.6030706@fleshgrinder.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] PHP Attributes From: lester@lsces.co.uk (Lester Caine) On 24/04/16 08:53, Fleshgrinder wrote: > That is the nature of a feature release, you find many of those in any > PHP feature release. Think of for instance `yield`, directly results in > a parse error in older PHP versions. There are two types of 'BC' problems which need to be catered for. The easy ones are new features like 'yield' which one simply ignores if running libraries across several versions of PHP. PHP5.2 code could be worked to run happily on PHP4, and one could bodge PHP5.3 to run 5.2 code but then it falls over with the features removed in PHP5.4. So while on can update the code to run in PHP5.4 and still run in 5.2 the amount of work is not that simple. Add E_STRICT into the picture to switch on and off other 'modern style' elements and things get trickier still. Hence my comments about one not simply being able to ignore the slow drift in breaking BC. One HAS to keep on top of every one which is why so much code is now stuck on PHP5.2! Now the move from PHP5.x to 7 has added another layer of complexity that can be ignored, and is still not fully supported on the various IDE platforms? Annotation is a key element of my own IDE experience, and this works reasonably well although I still think the PHPEclipse extension to Eclipse was MUCH tidier than the PDT one which is all that is currently supporting PHP7. Simply overloading PHP with new features that do not then get fully supported in the IDE framework because there is little need to replace what is CURRENTLY working happily does not help anybody. MUCH of what is being discussed does NOT have to be forced into the core builds of PHP and can simply co-exist in PECL to be played with at leisure until the perfect solution for that flavour of PHP has developed and the current, apparently ignored, solutions can be retired. Just as my own 'typeless' code base, many libraries are improving their docbloc based annotation to help new users get to grips with all the fine detail ahead of other changes. We have lost things like the accelerator extension for ADOdb and I think the power of adding additional third party extensions to power the less popular developments has also been lost. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk