/** * Returns the Handler * * @param string $identifier * @param \eZ\Publish\SPI\Persistence\FieldType $fieldType * @param \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter $fieldValueConverter * @param \eZ\Publish\SPI\FieldType\FieldStorage $externalStorage * * @return \eZ\Publish\SPI\Persistence\Handler */ protected function getHandler( $identifier, $fieldType, $fieldValueConverter, $externalStorage ) { /** @var \eZ\Publish\Core\Persistence\FieldTypeRegistry $fieldTypeRegistry */ $fieldTypeRegistry = self::$container->get( "ezpublish.persistence.field_type_registry" ); /** @var \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\ConverterRegistry $converterRegistry */ $converterRegistry = self::$container->get( "ezpublish.persistence.legacy.field_value_converter.registry" ); /** @var \eZ\Publish\Core\Persistence\Legacy\Content\StorageRegistry $storageRegistry */ $storageRegistry = self::$container->get( "ezpublish.persistence.external_storage_registry" ); $textLineFieldType = new \eZ\Publish\Core\FieldType\TextLine\Type(); $textLineFieldType->setTransformationProcessor( $this->getTransformationProcessor() ); $textLineFieldValueConverter = new Legacy\Content\FieldValue\Converter\TextLine(); $fieldTypeRegistry->register( "ezstring", $textLineFieldType ); $converterRegistry->register( "ezstring", $textLineFieldValueConverter ); $fieldTypeRegistry->register( $identifier, $fieldType ); $converterRegistry->register( $identifier, $fieldValueConverter ); $storageRegistry->register( $identifier, $externalStorage ); return self::$container->get( "ezpublish.spi.persistence.legacy" ); }
/** * Gets the 'ezpublish.fieldtype.ezstring' service. * * This service is shared. * This method always returns the same instance of the service. * * @return eZ\Publish\Core\FieldType\TextLine\Type A eZ\Publish\Core\FieldType\TextLine\Type instance. */ protected function getEzpublish_Fieldtype_EzstringService() { $this->services['ezpublish.fieldtype.ezstring'] = $instance = new \eZ\Publish\Core\FieldType\TextLine\Type(); $instance->setTransformationProcessor($this->get('ezpublish.api.storage_engine.transformation_processor')); return $instance; }