for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Doctrine\Inflector;
use Doctrine\Inflector\Rules\English;
use Doctrine\Inflector\Rules\French;
use Doctrine\Inflector\Rules\NorwegianBokmal;
use Doctrine\Inflector\Rules\Portuguese;
use Doctrine\Inflector\Rules\Spanish;
use Doctrine\Inflector\Rules\Turkish;
use InvalidArgumentException;
use function sprintf;
final class InflectorFactory
{
public static function create(string $language = Language::ENGLISH) : Inflector
switch ($language) {
case Language::ENGLISH:
return English\InflectorFactory::create();
case Language::FRENCH:
return French\InflectorFactory::create();
case Language::NORWEGIAN_BOKMAL:
return NorwegianBokmal\InflectorFactory::create();
case Language::PORTUGUESE:
return Portuguese\InflectorFactory::create();
case Language::SPANISH:
return Spanish\InflectorFactory::create();
case Language::TURKISH:
return Turkish\InflectorFactory::create();
default:
throw new InvalidArgumentException(sprintf(
'Language "%s" is not supported.',
$language
));
}