Классные имена не относятся к регистру в PHP.
Похоже, что get_class($obj)
возвращает истинное имя класса (в ядре PHP) и ::class
возвращает имя класса, используемое в коде пользователя.
<?php
// PHP 5.5
var_dump(get_class(new DaTeTImE())); // string(8) "DateTime"
var_dump(DaTeTImE::class); // string(8) "DaTeTImE"
// От PHP Team: Конструкт «:: класс» делается исключительно во время компиляции, исходя из очевидного ClassName принятого в этом не проверяется написание фактического имени класса, или даже. что класс существует
<?php
echo dAtEtImE::class; // Output is "dAtEtImE"
echo ThisDoesNotExist::class; // Output is "ThisDoesNotExist"
Тогда почему 'get_class (новый Datetime())' не striclty равнее 'Datetime :: class' –
Где вы видите разницу? –
Datetime и DateTime с верхним T –