for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Doctrine\Inflector;
class InflectorFactory
{
/** @var WordInflector */
private $singularInflector;
private $pluralInflector;
public function withSingularInflector(WordInflector $singularInflector) : self
$this->singularInflector = $singularInflector;
return $this;
}
public function withPluralInflector(WordInflector $pluralInflector) : self
$this->pluralInflector = $pluralInflector;
public function build() : Inflector
$singularInflector = $this->singularInflector ?? $this->createDefaultSingularInflector();
$pluralInflector = $this->pluralInflector ?? $this->createDefaultPluralInflector();
return new Inflector($singularInflector, $pluralInflector);
private function createDefaultSingularInflector() : CachedWordInflector
return new CachedWordInflector(new RulesetInflector(
(new SingularizerFactory())->build()
));
private function createDefaultPluralInflector() : CachedWordInflector
(new PluralizerFactory())->build()