跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

PHP如何获取不带命名空间的类名

方法很多,列出几个,以供参考。 Laravel 源码里扒出来的 class_basename 辅助函数
basename(str_replace('\', '/', $class));
substr 实现
substr(strrchr($class, "\"), 1); // or substr($class, strrpos($class, '\') + 1);
explode 实现
array_pop(explode('\', $class));
ReflectionClass 实现 PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 立即学习 “ PHP免费学习笔记(深入) ”;
(new ReflectionClass($class))->getShortName();
其中,ReflectionClass 是最快最保险的方案,但此类必须实际存在,不存在则会抛出 ReflectionException: Class FooBar does not exist。 更多PHP相关知识,请访问 PHP教程 !

相关文章