Files
2026-09-15 10:35:56 +08:00

30 lines
716 B
PHP

<?php
declare(strict_types=1);
namespace Esun\MultiLocaleTranslation\Model;
use InvalidArgumentException;
class EntityPool
{
public function __construct(private readonly array $entities = [])
{
}
public function get(string $entityType): TranslatableEntityInterface
{
if (!isset($this->entities[$entityType])) {
throw new InvalidArgumentException(sprintf('Unsupported entity type "%s".', $entityType));
}
$entity = $this->entities[$entityType];
if (!$entity instanceof TranslatableEntityInterface) {
throw new InvalidArgumentException(sprintf('Entity "%s" is misconfigured.', $entityType));
}
return $entity;
}
}