Re: New Feature: Fully qualified class name resolution as scalar with class keyword

From: Date: Tue, 17 Apr 2012 15:20:29 +0000
Subject: Re: New Feature: Fully qualified class name resolution as scalar with class keyword
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
On 2012-04-17, Ralph Schindler <[email protected]> wrote:
> Hi Nikita,
>
> > A quick note on the patch: As the class name is compile-time
> > resolvable it should in my eyes also be available as a
> > static_scalar, so that it can be used in initialization lists:
> >
> >      public function doFoo($withClass = ABC::class) {
> >          new $withClass; // or whatever
> >      }
> >
> > To be available as both a static_scalar and a general scalar one
> > should put the rule in the common_scalar section.
> >
> > What do you think?
>
> I've added this to the patch and Zend/tests:
>
>    * 
> https://github.com/ralphschindler/php-src/compare/master...feature/class-name-scalar
>
> I've also added an RFC page, any thoughts on improving the RFC?
>
>    * https://wiki.php.net/rfc/class_name_scalars

In the examples, you mix case:

    Boo::class
    Moo::Class
    \Moo::CLASS

Make sure you note that this is intentional, and that the keyword is
case insensitive -- i.e., changing the case does not alter the use cases
presented.

Also, I'd note why you're selecting "class" as the keyword (basically,
because it _is_ a keyword, and thus will never conflict with any class
constants or method names).

Otherwise, very straight-forward.

-- 
Matthew Weier O'Phinney
Project Lead            | [email protected]
Zend Framework          | http://framework.zend.com/
PGP key: http://framework.zend.com/zf-matthew-pgp-key.asc


Thread (41 messages)

« previous php.internals (#60083) next »