使用Symfony我习惯使用类名解析器::class
(自php5.5起):
use AppBundle\Entity\Product;
// ...
$resolver->setDefaults(array(
'data_class' => Product::class
));
而不是FQN字符串:
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Product'
));
我这样做是出于可读性目的,因为在某些智能IDE中进行内窥镜检查很方便。
但是,我在官方文档中没有看到这种做法的例子。所以我想知道这是因为兼容性问题(< php5.5)还是因为系统导入我们需要引用的所有类都不好。
我的问题是:在我们需要引用FQN的地方使用::class
是一种好习惯吗?
答案 0 :(得分:1)
答案似乎是:
除了与php< 5.5的兼容性问题之外,没有什么可以阻止我们在任何需要的地方使用::class
名称解析器。