Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60098 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 61086 invoked from network); 17 Apr 2012 19:25:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Apr 2012 19:25:10 -0000 Authentication-Results: pb1.pair.com smtp.mail=ralph@ralphschindler.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=ralph@ralphschindler.com; 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:35128] helo=mail-ob0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 75/A1-03996-693CD8F4 for ; Tue, 17 Apr 2012 15:25:10 -0400 Received: by obbup16 with SMTP id up16so2042617obb.29 for ; Tue, 17 Apr 2012 12:25:08 -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=tDVLBnzGvvwMJCfT/y9yhO9NMH71JnJ/jf4CfHdDovY=; b=BCRv3CakLZdxgEjdwbrCFtF2EjDh4rgcYXOzMYe63yHf5qaP/ZigbmYkgGI9tvl6hl 20YabAmbTEaHHDCWmFBgm7o3nBKPqnkJpqzqc2ISY8bAobrzdT0SRU7IWuWEuylRxT1O 8w8o7azMo4TCy7chcgxGxgnIbp/XUv/lFIsYv7AztiLiwcq2Egwb8X+Ffp29FsXoN1eE ZVCy6eWLGM9qSG600rrs2YnNHETyyzDIPtlXn5Qy/5S8BT17l6MHy1YwRnJ+PKfjruUX bBhIxRNbQepRFxmbVr/4KdvsXxgs8nzjUCUzdtH8STABgRWDPAg0QRluwLC7uBWhhj04 sArA== Received: by 10.182.124.7 with SMTP id me7mr23202542obb.6.1334690708045; Tue, 17 Apr 2012 12:25:08 -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 j10sm24121517oba.4.2012.04.17.12.25.06 (version=SSLv3 cipher=OTHER); Tue, 17 Apr 2012 12:25:06 -0700 (PDT) Message-ID: <4F8DC391.40306@ralphschindler.com> Date: Tue, 17 Apr 2012 14:25:05 -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> <4F8D843D.8070706@ralphschindler.com> <4F8DB368.4010203@hoa-project.net> In-Reply-To: <4F8DB368.4010203@hoa-project.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQmUm/3VlPwbVHe7ATK/JzikW9aMH0dGrjIQrDKAolrbdQ++v/piPXspwkQL0wlmzqYeYki5 Subject: Re: [PHP-DEV] New Feature: Fully qualified class name resolution as scalar with class keyword From: ralph@ralphschindler.com (Ralph Schindler) > var_dump is Moo::CLASS but the symbol Moo does not exist yet, only the > class Foo\Bar\Baz was declared at this point. It could exist. It could be a class name handled by an autoloader somewhere else. This method of class name resolving operates in the spirit of how our namespace implementation works. Namespaces don't actually "import" things into the files symbol table, it makes aliases for them, as such the namespace implementation alone never triggers an autoload simply b/c you were talking about a class somewhere. The ::class resolver essentially does the same thing, for any given name you are talking about, it will resolve that name against the current namespace resolution rules. > > Btw, interesting patch and nice implementation. I approved. > > Best regards. > Thanks! -ralph