你能解释一下之间的区别 get_class($instance)和ClassName::class?
<?php
// PHP 5.5
var_dump(get_class(new Datetime())); // string(8) "DateTime"
var_dump(Datetime::class); // string(8) "Datetime" with lower t
Run Code Online (Sandbox Code Playgroud)
Rob*_*det 12
PHP中的类名称不具备案例性.
它似乎get_class($obj)返回true classname(在PHP核心中)并::class返回用户代码中使用的类名.
<?php
// PHP 5.5
var_dump(get_class(new DaTeTImE())); // string(8) "DateTime"
var_dump(DaTeTImE::class); // string(8) "DaTeTImE"
Run Code Online (Sandbox Code Playgroud)
//来自PHP团队:':: class'构造完全在编译时完成,基于传入的表观类名.它不检查实际类名的拼写,甚至不存在类的存在
<?php
echo dAtEtImE::class; // Output is "dAtEtImE"
echo ThisDoesNotExist::class; // Output is "ThisDoesNotExist"
Run Code Online (Sandbox Code Playgroud)