Файл: vendor/doctrine/inflector/lib/Doctrine/Inflector/InflectorFactory.php
Строк: 79
<?php
declare(strict_types=1);
namespace DoctrineInflector;
use DoctrineInflectorRulesEnglish;
use DoctrineInflectorRulesFrench;
use DoctrineInflectorRulesNorwegianBokmal;
use DoctrineInflectorRulesPortuguese;
use DoctrineInflectorRulesSpanish;
use DoctrineInflectorRulesTurkish;
use InvalidArgumentException;
use function sprintf;
final class InflectorFactory
{
public static function create(): LanguageInflectorFactory
{
return self::createForLanguage(Language::ENGLISH);
}
public static function createForLanguage(string $language): LanguageInflectorFactory
{
switch ($language) {
case Language::ENGLISH:
return new EnglishInflectorFactory();
case Language::FRENCH:
return new FrenchInflectorFactory();
case Language::NORWEGIAN_BOKMAL:
return new NorwegianBokmalInflectorFactory();
case Language::PORTUGUESE:
return new PortugueseInflectorFactory();
case Language::SPANISH:
return new SpanishInflectorFactory();
case Language::TURKISH:
return new TurkishInflectorFactory();
default:
throw new InvalidArgumentException(sprintf(
'Language "%s" is not supported.',
$language
));
}
}
}