Вход Регистрация
Файл: 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
                
));
        }
    }
}
Онлайн: 0
Реклама