2 namespace TYPO3\CMS\Core\Resource\Rendering;
57 if (!class_exists($className)) {
58 throw new \InvalidArgumentException(
'The class "' . $className .
'" you are trying to register is not available', 1411840171);
59 }
elseif (!in_array(\TYPO3\CMS\Core\Resource\Rendering\FileRendererInterface::class, class_implements($className),
true)) {
60 throw new \InvalidArgumentException(
'The renderer needs to implement the FileRendererInterface', 1411840172);
62 $this->classNames[] = $className;
71 public function getRendererInstances()
73 if ($this->instances === null) {
74 $this->instances = array();
83 $this->instances[] = $object;
86 if (count($this->instances) > 1) {
87 usort($this->instances, array($this,
'compareRendererPriority'));
127 $matchingFileRenderer = null;
130 foreach ($this->getRendererInstances() as $fileRenderer) {
131 if ($fileRenderer->canRender($file)) {
132 $matchingFileRenderer = $fileRenderer;
136 return $matchingFileRenderer;