...
Like most API components, FieldTypes use the Symfony 2 service tag mechanism.
The principle is quite simple: a service can be assigned one or several tags, with specific parameters. When the dependency injection container is compiled into a PHP file, tags are read by CompilerPass
implementations that add extra handling for tagged services. For FieldTypes, each Each service tagged as ezpublish.fieldType
is added to a registry using the alias argument as its unique identifier (ezstring
, ezxmltext
…). Each FieldType must also inherit from the abstract ezpublish.fieldType service. This ensures that the initialization steps shared by all fieldtypes are executed.
...