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\Patterns;
use Doctrine\Inflector\Rules\Ruleset;
use Doctrine\Inflector\Rules\Substitutions;
use Doctrine\Inflector\Rules\Transformations;
final class PluralizerFactory
{
/** @var Transformations */
private $transformations;
/** @var Patterns */
private $uninflected;
/** @var Substitutions */
private $irregular;
public function withTransformations(Transformations $transformations) : self
$this->transformations = $transformations;
return $this;
}
public function withUninflected(Patterns $uninflected) : self
$this->uninflected = $uninflected;
public function withIrregular(Substitutions $irregular) : self
$this->irregular = $irregular;
public function build() : Ruleset
$transformations = $this->transformations ?? new Transformations(...English\Inflectible::getPlural());
$uninflected = $this->uninflected ?? new Patterns(...English\Uninflected::getPlural());
$irregular = $this->irregular ?? new Substitutions(...English\Inflectible::getIrregular());
return new Ruleset($transformations, $uninflected, $irregular);