Документация всегда была рекомендацией - и (почти?) Никто не использовал расширение с ключом, начинающимся с user_
.
Это была рекомендация избегать конфликтов, подобных описанным вами. Но конфликтов удалось избежать с помощью префиксов программиста, компании или клиента (что похоже на название поставщика).
В старые времена не только таблицы имели префикс с ключом расширения, но и дополнительные поля для других таблиц. особенно если вы использовали kickstarter
/ extensionbuilder
.
Сегодня мы используем пространства имен, чтобы избежать конфликтов с именами классов, но все же можем получить конфликты с ключами расширения, поскольку имена любого поставщика не учитываются, если расширение установлено за пределами typo3conf/ext/
.
Папка, вероятно, может быть переименована, но наличие записей одинакового типа (с разными полями) в таблицах с одинаковыми именами может нарушить работу системы.
Пример: не пытайтесь ввести собственное расширение для новостей с именем news
; -)
С другой стороны, вы можете получить поля с одинаковой информацией, но разными именами:
latitude/longitude
, lat/long
, lat/lon
.
А как насчет полей, которые называются одинаковыми из разных расширений, которые используют разные представления данных? time
как string
, unixtimestamp
, time
, ...
Вывод: вы не можете избежать всех конфликтов, и знание о возможных проблемах может помочь избежать этого с некоторыми умными допущениями.
Автообновление для расширений может происходить только при composer-install, но там важно указать имя поставщика.
При установке без composer вы можете получить расширение от TER, в котором ключ расширения идентичен собственному расширению, но следует знать, если собственное (локальное) расширение имеет более новые версии в TER. особенно если расширение имеет префикс от автора, компании или клиента.
Имейте в виду, что расширения доступны не только в TER. С помощью composer и packagist расширения можно хранить где угодно.