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