2013/2/25 Jens Riisom Schultz <ibmu...@me.com>

> Hi everybody,
>
> I have read up on this, and done some testing.
>
> First up, my findings with PHP5.5 alpha5:
>
> <?php
> namespace spacy;
>
> class classy {
>         public static function fqcn() {
>                 /* This works but is not useful enough: */
>                 //return self::class;
>
>                 $me = 'classy';
>
>                 /* This just doesn't work, but I wish it did: */
>                 //return $me::class;
>
>                 /* This simply does not work as expected: */
>                 return eval("return $me::class;");
>                 /* Output: "classy" - Expected output: "spacy\classy" */
>         }
> }
> ?>
>


Without testing anything: My first idea would be 'static::class'. Did you
tried this?


>
> I'm trying to late resolve a class name contained in a variable to the
> FQCN. I understand that this is hard (maybe even impossible) with the
> current implementation, because class name resolution happens compile time,
> but eval("return $me::class;") simply returns something that is weird.
>
> I guess what I'm trying to ask is whether it would be impossible to
> support late FQCN resolution in any way? It would be very useful for
> frameworks to be able to do this.
>
> - Jens Riisom Schultz
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
github.com/KingCrunch

Reply via email to