Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60107 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 78397 invoked from network); 17 Apr 2012 19:55:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Apr 2012 19:55:56 -0000 Authentication-Results: pb1.pair.com header.from=ralph@ralphschindler.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=ralph@ralphschindler.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain ralphschindler.com from 209.85.214.170 cause and error) X-PHP-List-Original-Sender: ralph@ralphschindler.com X-Host-Fingerprint: 209.85.214.170 mail-ob0-f170.google.com Received: from [209.85.214.170] ([209.85.214.170:57694] helo=mail-ob0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 71/85-03996-BCACD8F4 for ; Tue, 17 Apr 2012 15:55:55 -0400 Received: by obbup16 with SMTP id up16so2079009obb.29 for ; Tue, 17 Apr 2012 12:55:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=RSMHhaA8rKnPZnWMroVeseTzvsI8BtNaz9vmtwvlK8Y=; b=CJVUY1Vrm93gHyOUr9CkTgMU2EWxj+jGzluWw/jQOjp63f/J8ZmhKD3ROMxXnv6skf iLW9dsN6jpoHpva2Rh2OGbiwq+8Lv73CG7l5uYlT9i2lbPoYbl1KC63TTryKs4aXKqU2 XgRkCy9sHK6cT0FMkhKQiF3LRKfJWAxddfsc7/uxaBsbOceFHdTpAq1Ty5Os9P5m6C3i DjultPLAW4V+FDELV2doKv97gkh8B+Fi99CnxiLxjxJuFLo0RkXMenH5u2h509E0JntY w3aq0SjZhza7tigfvxnEd1Qm1O89qwNUF33VkEcooesmsP3RXID/VvVmYKF93wJoTeGa 7Hog== Received: by 10.182.50.100 with SMTP id b4mr23524383obo.45.1334692553227; Tue, 17 Apr 2012 12:55:53 -0700 (PDT) Received: from ralph-mac.local (ip174-73-14-247.no.no.cox.net. [174.73.14.247]) by mx.google.com with ESMTPS id j10sm24213841oba.4.2012.04.17.12.55.51 (version=SSLv3 cipher=OTHER); Tue, 17 Apr 2012 12:55:52 -0700 (PDT) Message-ID: <4F8DCAC7.2050302@ralphschindler.com> Date: Tue, 17 Apr 2012 14:55:51 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 MIME-Version: 1.0 To: internals@lists.php.net References: <4F89D4F1.8070009@ralphschindler.com> <4F8CEB3B.4080702@ralphschindler.com> <4F8DA14F.1030204@sugarcrm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkaUPJ/yWxPmkb10LeYZVHjaNjTIppAGNg2jOKpNlQciQlcdLfXYh8ZNq5OjyE3p1kANcxQ Subject: Re: [PHP-DEV] Re: New Feature: Fully qualified class name resolution as scalar with class keyword From: ralph@ralphschindler.com (Ralph Schindler) > "class" won't collide anyways, as it's already a keyword, and you can't use it > in your constant or function names. __CLASS__ has bad connotations for me, as it > resolves to the declaring class normally, not the class invoked. I tend to agree. __CLASS__ to me belongs to the family of constants like __DIR__ and __FILE__ where they are meant to be evaluated in-place and are simply a substitution for something completely static. In my mind, while Foo::class returns a scalar, it is subject to resolution by use statements generally at the top of a file or namespace declaration and is computed based on what namespace it is in and what use statements affect it. -ralph