gpt4 book ai didi

php -::class 和 get_class 之间的区别

转载 作者:可可西里 更新时间:2023-10-31 23:14:46 25 4
gpt4 key购买 nike

你能解释一下 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

最佳答案

类名在 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 团队:'::class' 构造完全在编译时完成,基于传入的明显类名。它不检查实际类名的拼写,甚至不检查该类是否存在

<?php
echo dAtEtImE::class; // Output is "dAtEtImE"
echo ThisDoesNotExist::class; // Output is "ThisDoesNotExist"

关于php -::class 和 get_class 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34118725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com