С 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), или потому, что было бы неплохо систематически импортировать все классы, которые нам нужно ссылаться.
Мой вопрос: хорошо ли использовать ::class
везде, где нам нужно обратиться к FQN?
как вы сказали 'из-за проблемы совместимости (
Matteo
Спасибо за ваш комментарий. Я не понимаю, почему мой вопрос заслужил бы близость и -1, хотя –
«Хорошие практики» очень часто основаны на мнениях, но, помимо комментария Маттео о совместимости (я согласен с ним), я думаю, вы должны спросить себя, почему не использовать его. Я вижу только преимущества использования распознавателя имени класса, например, если вы изменили пространство имен класса, которое вы не вынуждаете изменять его везде в коде (я использую ':: class' всюду, а не также в Entities). –