Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:20117 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 89809 invoked by uid 1010); 18 Nov 2005 00:17:13 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 89794 invoked from network); 18 Nov 2005 00:17:13 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2005 00:17:13 -0000 X-Host-Fingerprint: 66.11.173.122 unknown Received: from ([66.11.173.122:56499] helo=interjinn.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 15/5E-07637-88D1D734 for ; Thu, 17 Nov 2005 19:17:13 -0500 Received: from blobule.suds (blobule.suds [192.168.1.3]) by interjinn.com (Postfix) with ESMTP id DDC5811FB69; Thu, 17 Nov 2005 19:17:08 -0500 (EST) To: Rasmus Lerdorf Cc: Ilia Alshanetsky , Andreas Korthaus , internals@lists.php.net In-Reply-To: <437D1AB2.6080908@lerdorf.com> References: <437B530A.5050105@prohost.org> <437CF6B4.5080207@web.de> <437CF943.7090800@lerdorf.com> <437D0D08.8060805@web.de> <437D0E22.7080006@lerdorf.com> <437D11B7.7090102@web.de> <437D1361.5080504@prohost.org> <1132271500.18353.53.camel@blobule.suds> <437D1AB2.6080908@lerdorf.com> Content-Type: text/plain Organization: InterJinn Message-ID: <1132273050.22860.6.camel@blobule.suds> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5-4mdk Date: Thu, 17 Nov 2005 19:17:30 -0500 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] dropping curly braces From: robert@interjinn.com (Robert Cummings) On Thu, 2005-11-17 at 19:05, Rasmus Lerdorf wrote: > Robert Cummings wrote: > > On Thu, 2005-11-17 at 18:33, Ilia Alshanetsky wrote: > >> Andreas Korthaus wrote: > >>> OK, but by dropping {} for strings you also remove the possibility to > >>> have a convention like "[] for arrays and {} for strings". > >>> If I could decide I would drop {} for arrays and [] for strings, but I > >>> fear I will not be asked to decide... ;-) > >> You may think that {} and [] are different, but in reality same code > >> deals with both. Having two constructs for the same behavior is silly > >> and leads to confusing, hard to read code. Especially so when you > >> consider the fact {} has another meaning that is completely different. > > > > That should have been considered before everyone was told that [] was > > deprecated for strings in favour of {}. > > Right, that was a mistake which we are fixing now. Removing [] doesn't > seem to be a viable option, so rather than continue to tell people to > stop using [] since it is never going to go away, the main decision here > was to undeprecate []. Whether we will eventually remove {} or not > remains to be seen. The initial idea was to try to remove it in PHP6 > and in order to help people easily find where these are used, add an > E_STRICT for it in PHP 5.1. Ok, then that's not so bad. PHP6 is undoubtedly some ways off giving adequate time to revert such code. I hate that sneaky E_STRICT stuff :) BTW, I'm with the other guys on the convention argument too. I find that reading my code now that I've gotten into the habit of always using {} for strings, that I can easily pick out where my string indexing is happening versus array indexing. Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------'