Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:50470 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 95001 invoked from network); 24 Nov 2010 12:43:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Nov 2010 12:43:58 -0000 Authentication-Results: pb1.pair.com smtp.mail=ar@ez.no; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=ar@ez.no; sender-id=unknown Received-SPF: error (pb1.pair.com: domain ez.no from 74.125.82.54 cause and error) X-PHP-List-Original-Sender: ar@ez.no X-Host-Fingerprint: 74.125.82.54 mail-ww0-f54.google.com Received: from [74.125.82.54] ([74.125.82.54:47042] helo=mail-ww0-f54.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 96/D3-49564-D880DEC4 for ; Wed, 24 Nov 2010 07:43:58 -0500 Received: by wwc33 with SMTP id 33so986169wwc.11 for ; Wed, 24 Nov 2010 04:43:55 -0800 (PST) Received: by 10.227.153.21 with SMTP id i21mr9235481wbw.26.1290602634460; Wed, 24 Nov 2010 04:43:54 -0800 (PST) MIME-Version: 1.0 Received: by 10.227.145.133 with HTTP; Wed, 24 Nov 2010 04:43:32 -0800 (PST) In-Reply-To: References: Date: Wed, 24 Nov 2010 13:43:32 +0100 Message-ID: To: Derick Rethans Cc: "Matthew Weier O'Phinney" , PHP Developers Mailing List Content-Type: multipart/alternative; boundary=0016368341d892c1bf0495cbd750 Subject: Re: [PHP-DEV] Hold off 5.4 From: ar@ez.no (=?UTF-8?B?QW5kcsOpIFLDuG1ja2U=?=) --0016368341d892c1bf0495cbd750 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Nov 24, 2010 at 1:41 PM, Andr=C3=A9 R=C3=B8mcke wrote: > On Tue, Nov 23, 2010 at 3:53 PM, Derick Rethans wrote: > >> On Tue, 23 Nov 2010, Matthew Weier O'Phinney wrote: >> >> > On 2010-11-23, Derick Rethans wrote: >> > > On Mon, 22 Nov 2010, Felipe Pena wrote: >> > > > . classes named as any of the type hint scalar types >> > > > do not work anymore >> > > > aka class int {} >> > > >> > > Yeah, there is a slight hint of a BC break in case you have a class >> > > named "int" or "float" etc. But there is: >> > > http://uk.php.net/manual/en/userlandnaming.tips.php >> > > >> > > Perhaps we can reduce the current list of classes: >> > > int, integer, real, double, string, binary, scalar, array, object, >> > > bool, boolean >> > > to what the manual uses though (for prototypes): >> > > int, float, string, binary, scalar, array, object, bool >> > > (Point #18 at http://doc.php.net/php/dochowto/chapter-conventions.ph= p >> ) >> > >> > Sorry, but this is actually a pretty grave BC break. >> > >> > Currently, you can do the following: >> > >> > namespace Foo\Validator; >> > >> > class Int {} >> >> During our namespace discussion, this is exactly what I warned about. In >> order to make use of namespaces, you need to have atleast two "elements" >> in your class names otherwise we can still never introduce a new class. >> But that was not listened too. >> >> > As Sebastian noted, it seems this should be addressed with the new >> > lexer; I'd argue that if the current type hinting must introduce new >> > keywords, it should wait until the new lexer is in place in order to >> > insulate end-users from such changes. >> >> The new lexer however, is a slower; so not a viable solution right now. >> >> > With a defined release process, *everyone* knows what must be done, by >> > when, making the process more transparent and *gasp* democratic. >> >> Well, I don't think we've ever been democratic. I probably think >> that that wouldn't even work. Also, I think an alpha has pretty much >> been announce nicely on time for people to know what's happening. > > > > I think what Matthew suggest here is something in the line of > democratically defining a release process up front: features you would li= ke > to get in (a roadmap that clearly states that the content can change up > until a feature freeze), a deadline for the feature freeze so that the > process is predictable and appoint a release manager to be in charge of t= he > branch. > > Something like: > - Branching next version from day one so you have one called next and one > called trunk for edge stuff, and appoint a release manager to approve > features as they are merged from development branch(es) > Alternatively (among several possible branch strategies) in DVCS you cou= ld > use topic branches for the edge implementations, this is cleaner (maybe), > but the point is to have a release branch that can be stabilized at anyti= me. > For a more in-depth branching possibility see: > http://nvie.com/posts/a-successful-git-branching-model/ > > - Define a feature freeze date, anything not ready feature or stability > wise is moved to Next Next roadmap (they are not in the Next release bran= ch > anyway as it only has feature complete features at any point) > And branch off Next Next and appoint a release manager for that branch so > there is always an active release branch. > When feature freeze date for Next is reached. > > This will give a more predictable release schedule for everyone involved, > especially for php users as it will give them a real hint on when the > testing process of the next version will begin and some clue on when it > might get finalized. All without having to introduce full fledge scrum an= d / > or a strict release process. > > > - ar > --0016368341d892c1bf0495cbd750--