В PHP 5.5 в качестве новой функции реализован новый способ получения имени класса с помощью синтаксиса ::class
:
<?php
namespace Testing;
class Test{}
echo Test::class; // Testing\Test;
Это отлично работает, хорошо? НО я и некоторые другие друзья хотели знать, почему этот синтаксис также возвращает имя класса при использовании вместе с необъявленным классом. Например.:
<?php
echo UndeclaredClass::class; // UndeclaredClass
В некоторых других случаях возникает ошибка, но не здесь. Кто-нибудь знает, с конкретным основанием, если возможно, почему это происходит?
Есть ли в нем что-то от Late Static Bindings или это просто (временное) ограничение/ошибка этой совершенно новой функции?
<?php echo UndeclaredClass::class;
всегда выдает ошибку для меня. - person Daniel W.   schedule 02.07.2014