在PHP中,如果我想获得使用use
语句包含的类的完全限定类名,我该怎么做?例如,
<?php
namespace MyNamespace;
use Namespace\To\Class as MyClass;
function getNamespaceOfMyClass() {
// Return ??
}
echo getNamespaceOfMyClass();
我知道一种方法是通过 get_class(new MyClass())
来实现,但如果我不能或不想创建一个 MyClass
的实例,应该怎么办?谢谢!
use Account\Document\Profile;
然后:get_class(new Profile());
来完成此工作,这不是理想的方式。我希望有一种普通的方法来做到这一点,最好不需要PHP 5.5。 - osdiabObjectManager()->getEntityRepository($className)
调用实体时,我也遇到了同样的问题,因为我不想硬编码类名。我倾向于在实体服务层中定义一些静态变量(例如static::ENTITY_CLASS_NAME_PROFILE = 'Namespace/entity/Profile';
),然后使用它们。 - AlexP