[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 declare(strict_types=1); 4 5 namespace Doctrine\Inflector; 6 7 use Doctrine\Inflector\Rules\Ruleset; 8 9 use function array_unshift; 10 11 abstract class GenericLanguageInflectorFactory implements LanguageInflectorFactory 12 { 13 /** @var Ruleset[] */ 14 private $singularRulesets = []; 15 16 /** @var Ruleset[] */ 17 private $pluralRulesets = []; 18 19 final public function __construct() 20 { 21 $this->singularRulesets[] = $this->getSingularRuleset(); 22 $this->pluralRulesets[] = $this->getPluralRuleset(); 23 } 24 25 final public function build(): Inflector 26 { 27 return new Inflector( 28 new CachedWordInflector(new RulesetInflector( 29 ...$this->singularRulesets 30 )), 31 new CachedWordInflector(new RulesetInflector( 32 ...$this->pluralRulesets 33 )) 34 ); 35 } 36 37 final public function withSingularRules(?Ruleset $singularRules, bool $reset = false): LanguageInflectorFactory 38 { 39 if ($reset) { 40 $this->singularRulesets = []; 41 } 42 43 if ($singularRules instanceof Ruleset) { 44 array_unshift($this->singularRulesets, $singularRules); 45 } 46 47 return $this; 48 } 49 50 final public function withPluralRules(?Ruleset $pluralRules, bool $reset = false): LanguageInflectorFactory 51 { 52 if ($reset) { 53 $this->pluralRulesets = []; 54 } 55 56 if ($pluralRules instanceof Ruleset) { 57 array_unshift($this->pluralRulesets, $pluralRules); 58 } 59 60 return $this; 61 } 62 63 abstract protected function getSingularRuleset(): Ruleset; 64 65 abstract protected function getPluralRuleset(): Ruleset; 66 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |