Я хотел бы знать, есть ли недостаток в использовании use
вместо использования FQCN для ссылки на классы в TYPO3.Использование FQCN в TYPO3
ответ
Нет недостатка действительно. Вам нужно только быть осторожным, если вы используете два класса с тем же именем, которые отличаются только в своих пространствах имен, но это документировано в документации PHP. Преимущества очевидны: улучшенная читаемость, меньшая набрав. Многие IDE помогут вам использовать use
. Просто используйте FQCN в комментариях PhpDoc.
О, хорошо ... Большое спасибо. – Fiftywebs
Есть несколько мест, где вы должны использовать полное имя класса:
- В
@var
аннотациях членов класса, которые также аннотированные с@inject
- В параметрах действия контроллера, которые не используют подсказки типа
- Может быть, больше места, не знаю
Если вы не используете FQCN, отражение перестает работать в этих местах, так инъекция зависимостей не выполняется, а преобразование типа для параметров действий не работает («Не удалось определить тип параметра foo myAction» или что-то подобное - это сообщение об исключении).
Я слышал, что были попытки сделать не-FQCNs в этих местах, но они, похоже, потерпели неудачу.
Полностью законный вопрос, почему downvote? – j4k3
@ j4k3 Это также озадачило меня. Думаю, некоторые люди должны знать все: D: D – Fiftywebs