Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:41378 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 17719 invoked from network); 26 Oct 2008 08:30:26 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Oct 2008 08:30:26 -0000 Authentication-Results: pb1.pair.com header.from=office@kitsoftware.ro; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=office@kitsoftware.ro; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain kitsoftware.ro from 193.223.101.181 cause and error) X-PHP-List-Original-Sender: office@kitsoftware.ro X-Host-Fingerprint: 193.223.101.181 s016.hostway.ro Linux 2.6 Received: from [193.223.101.181] ([193.223.101.181:58587] helo=s016.hostway.ro) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C6/E5-64555-0AA24094 for ; Sun, 26 Oct 2008 03:30:25 -0500 Received: from [86.121.160.39] (helo=CZA) by s016.hostway.ro with esmtp (Exim 4.69) (envelope-from ) id 1Ku10v-0006XG-BG; Sun, 26 Oct 2008 10:30:21 +0200 To: "'Stan Vassilev | FM'" , "'PHP internals'" References: <46BD96DF-B594-490C-9812-D7ACDD976205@pooteeweet.org> <9373E34A42AC4CE0A65E512A61897512@pc> In-Reply-To: <9373E34A42AC4CE0A65E512A61897512@pc> Date: Sun, 26 Oct 2008 10:30:00 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 1 (Highest) X-MSMail-Priority: High X-Mailer: Microsoft Office Outlook 12.0 Content-Language: en-us Expiry-Date: Tue, 25 Nov 2008 00:00:00 +0200 Importance: High Thread-Index: Ack3QYFkCxfvsOLTRguek4wTLiJ2/AAA2L+A Disposition-Notification-To: "Catalin Zamfir Alexandru | KIT Software CAZ" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - s016.hostway.ro X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - kitsoftware.ro Subject: RE: [PHP-DEV] From: office@kitsoftware.ro ("Catalin Zamfir Alexandru | KIT Software CAZ") Ok, for short: "Cry havoc, and let loose the dogs of war." The fact that they chose '\' instead of ::: or anything else is going to be a killer to teach for novice PHP devs. Just my 0.02$ ... > -----Original Message----- > From: Stan Vassilev | FM [mailto:sv_forums@fmethod.com] > Sent: Sunday, October 26, 2008 10:04 AM > To: PHP internals > Subject: Re: [PHP-DEV] > > > Hi, > > I want to thank you all for opting for the technically sound, clear and > performant solution. Of course some users will never understand the > precise > reasons :: was avoided, but it's something we'll have to live with, > given > some past design choices in PHP. > > Regarding "foo\tbar" turning into "foo[tab]bar", I just wanted to throw > it > out there, although I don't think it's a great idea. We have only few > escape > combinations in string literals which can also be in a valid identifier: > > \t \n \r > > There are also some which aren't a problem since they can't be in a > valid > identifier: > > \x.. \0 \\ \$ \' \" \{..} etc. > > So the problem is with exactly three combos: \t, \n and \r. In the few > places PHP takes class/function identifiers as strings, TAB, CR and LF > could > be interpolated back into the two characters they express, since TAB, CR > and > LF aren't valid on their own in identifiers, so ambiguity is not > possible. > > Those places of the top of my mind are: new $class(), $class::property, > call_user_*(), _autoload, and all other places accepting callbacks. > > This would mean both of those will work correctly: "foo\\tbar" and > "foo\tbar" when used as an identifier. > > Think of it as a plan B in case people cause a big fuss about it (which > I > think they won't: think about escaping of windows file paths and > escaping in > regex pattern, we're doing just fine there). > > Regards, > Stan Vassilev > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php