2016-09-21 5 views
1

Я хотел бы знать, есть ли недостаток в использовании use вместо использования FQCN для ссылки на классы в TYPO3.Использование FQCN в TYPO3

+1

Полностью законный вопрос, почему downvote? – j4k3

+0

@ j4k3 Это также озадачило меня. Думаю, некоторые люди должны знать все: D: D – Fiftywebs

ответ

4

Нет недостатка действительно. Вам нужно только быть осторожным, если вы используете два класса с тем же именем, которые отличаются только в своих пространствах имен, но это документировано в документации PHP. Преимущества очевидны: улучшенная читаемость, меньшая набрав. Многие IDE помогут вам использовать use. Просто используйте FQCN в комментариях PhpDoc.

+0

О, хорошо ... Большое спасибо. – Fiftywebs

3

Есть несколько мест, где вы должны использовать полное имя класса:

  • В @var аннотациях членов класса, которые также аннотированные с @inject
  • В параметрах действия контроллера, которые не используют подсказки типа
  • Может быть, больше места, не знаю

Если вы не используете FQCN, отражение перестает работать в этих местах, так инъекция зависимостей не выполняется, а преобразование типа для параметров действий не работает («Не удалось определить тип параметра foo myAction» или что-то подобное - это сообщение об исключении).

Я слышал, что были попытки сделать не-FQCNs в этих местах, но они, похоже, потерпели неудачу.