Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:61908 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 45824 invoked from network); 1 Aug 2012 07:27:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Aug 2012 07:27:30 -0000 Authentication-Results: pb1.pair.com smtp.mail=kris.craig@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=kris.craig@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.170 as permitted sender) X-PHP-List-Original-Sender: kris.craig@gmail.com X-Host-Fingerprint: 74.125.82.170 mail-we0-f170.google.com Received: from [74.125.82.170] ([74.125.82.170:39962] helo=mail-we0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 06/52-32875-16AD8105 for ; Wed, 01 Aug 2012 03:27:30 -0400 Received: by weyr1 with SMTP id r1so5633582wey.29 for ; Wed, 01 Aug 2012 00:27:26 -0700 (PDT) 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:to :cc:content-type; bh=w/Xhzj/sm+pPSjmtejvLXkrjEjET3IqOlXu1l9rj4pQ=; b=xvEnb8GiqYz37t/yYYteix5OXohdsu0WFVP8fHjsyBNZs7qbUfg8fhpObp/O/y82ZB tTvexcNgB/vhIe27ag6zY9934CCUqYsxo+3DJQWyUTI4YsCBf9Y7cE0abpSfG+rKrzSG Y8gLDz88gA0PrA0zCyGFYEgfFifot7IiyQzWgMr6IwL7B08vyS77bxHJ8d6B+qnbUAio cdqaFacSxeaVl9MVS3qmEp5GsDTBVYxbo3vNPnHKLtfIp1kW+v27a8ptUkqROJKC7LxQ NAF+WfUZBjKAaH7mZfQhOOvaHguffTEosuJN1QlsznB5nrSxdE0wb1YcTqFUPh6v0myu 8spA== MIME-Version: 1.0 Received: by 10.180.100.131 with SMTP id ey3mr14080478wib.15.1343806046720; Wed, 01 Aug 2012 00:27:26 -0700 (PDT) Received: by 10.216.211.30 with HTTP; Wed, 1 Aug 2012 00:27:26 -0700 (PDT) In-Reply-To: <5018D2D1.2040004@lsces.co.uk> References: <50163FAD.4020004@lsces.co.uk> <5016A5A8.50506@lerdorf.com> <5018CA7E.5070802@lsces.co.uk> <5018CC83.4030002@sugarcrm.com> <5018D2D1.2040004@lsces.co.uk> Date: Wed, 1 Aug 2012 00:27:26 -0700 Message-ID: To: Lester Caine Cc: PHP internals Content-Type: multipart/alternative; boundary=f46d0444ec190fd48704c62f3ab7 Subject: Re: [PHP-DEV] Bringing users along ... From: kris.craig@gmail.com (Kris Craig) --f46d0444ec190fd48704c62f3ab7 Content-Type: text/plain; charset=ISO-8859-1 On Tue, Jul 31, 2012 at 11:55 PM, Lester Caine wrote: > Stas Malyshev wrote: > >> Helping to solve the problem would also help everybody else upgrade TO >>> PHP5.4? >>> >> OK, so what help do you require? >> > PEAR and PECL that work with PHP5.4 out of the box? > At least the core of PEAR that does not throw strict warnings from a stock > install of PHP5.4 as E_STRICT is on. > > > >Add to this the fun getting Apache 2.4 configured with PHP and my old >>> framework, >>> >it is no wonder I grumpy ... I would much rather be adding >>> functionality and >>> >working on NEW stuff than fixing the problems other people leave >>> behind. And I >>> >don't need any of the new PHP5.3/44 features to write my own new code. >>> >> While I can sympathize with your problems fixing bad code left by other >> people, I am not sure how it is relevant on this list - is there >> something that people present on this list can help you with? What is it? >> > > I think that this is the problem here. "fixing bad code" is simply not a > statement that I recognise! I am not fixing bad code, I am re-writing much > of it simply because the style is no longer acceptable, or somebody changed > a default setting without considering the consequences ( PHP5.3 is STILL biting as ISP are only upgrading to PHP5.3! ) > Let me just throw this out there in case nobody's thought of it yet: Why don't we draft a clear policy (an RFC maybe?) with regard to how BC is handled with different version increments. Here's a rough sketch of what I'm proposing in terms of that policy: Version A.b.c A: Major version increment. We maintain the fundamental syntax and other defining characteristics of PHP, but everything else is fair game. We make it clear to all users that existing PHP scripts from previous A version increments are *not supported*. There is an understanding that, depending on your code, chances are you'll have to make at least some significant modifications to it. We will make every effort to document these behavioral differences. Because adoption is a gradual process anyway, people should have sufficient time to update their code before the majority of hosts make the switch, particularly if we document these in advance. b: Minor BC breaks can occur, but should be avoided when possible. If there is a BC issue, E_DEPRECATED should be used until the next b increment if at all possible to soften the impact. c: BC breaks should not occur here. Possible rare exception for critical/urgent bugfixes. This more or less mirrors what we seem to be doing already; indeed, maybe it already is documented somewhere? However, the fact that these arguments keep coming up makes me doubt that possibility. > I still have not had a proper answer to a question I repeatedly ask. > "Please can we have some tutorials on how 'strict' styling should be used?" > I'm fixing the warnings created but I still do not fully understand what I > am fixing. The main rework area has been not being able to use '$this' in > static functions, even if the function checks $this and defaults to the > static code internally. Adding 'public/private/protected/**static/self > ...' and using them in the right places is well documented in bits and > pieces, but there is no general 'how to' put the whole together? I suppose > someone will want to add traits and the rest to that, but just a simple > style guide for the basics would be nice ... +1 I don't know the answer, but it sounds to me like a perfectly reasonable question to ask. =) --Kris --f46d0444ec190fd48704c62f3ab7--