‪TYPO3CMS  ‪main
DataProcessorRegistry.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Symfony\Component\DependencyInjection\ServiceLocator;
22 
28 {
29  public function ‪__construct(private readonly ServiceLocator $dataProcessorLocator) {}
30 
31  public function ‪getDataProcessor(string $identifer): ?‪DataProcessorInterface
32  {
33  if (!$this->dataProcessorLocator->has($identifer)) {
34  return null;
35  }
36 
37  $dataProcessor = $this->dataProcessorLocator->get($identifer);
38  if (!($dataProcessor instanceof ‪DataProcessorInterface)) {
39  throw new \UnexpectedValueException(
40  'Processor with alias / identifier "' . $identifer . '" ' .
41  'must implement interface "' . DataProcessorInterface::class . '"',
42  1666131903
43  );
44  }
45 
46  return $dataProcessor;
47  }
48 }
‪TYPO3\CMS\Frontend\DataProcessing\DataProcessorRegistry\getDataProcessor
‪getDataProcessor(string $identifer)
Definition: DataProcessorRegistry.php:31
‪TYPO3\CMS\Frontend\DataProcessing
Definition: CommaSeparatedValueProcessor.php:16
‪TYPO3\CMS\Frontend\ContentObject\DataProcessorInterface
Definition: DataProcessorInterface.php:23
‪TYPO3\CMS\Frontend\DataProcessing\DataProcessorRegistry\__construct
‪__construct(private readonly ServiceLocator $dataProcessorLocator)
Definition: DataProcessorRegistry.php:29
‪TYPO3\CMS\Frontend\DataProcessing\DataProcessorRegistry
Definition: DataProcessorRegistry.php:28