Nelmio\Alice\Faker\GeneratorFactory::createOrReturnExistingInstance PHP Method

createOrReturnExistingInstance() public method

public createOrReturnExistingInstance ( string $locale ) : Generator
$locale string e.g. 'fr_FR', 'en_US'
return Faker\Generator
    public function createOrReturnExistingInstance(string $locale) : FakerGenerator
    {
        if (array_key_exists($locale, $this->generators)) {
            return $this->generators[$locale];
        }
        $instance = FakerFactory::create($locale);
        $generatorProviders = $this->generator->getProviders();
        foreach ($generatorProviders as $provider) {
            if (1 !== preg_match('/^Faker\\\\Provider.*/', get_class($provider))) {
                $instance->addProvider($provider);
            }
        }
        return $this->generators[$locale] = $instance;
    }

Usage Example

 private function getGenerator(GeneratorFactory $factory, string $formatter)
 {
     $explodedFormatter = explode(':', $formatter);
     $size = count($explodedFormatter);
     if (1 === $size) {
         return [$factory->getSeedGenerator(), $explodedFormatter[0]];
     }
     if (2 === $size) {
         return [$factory->createOrReturnExistingInstance($explodedFormatter[0]), $explodedFormatter[1]];
     }
     throw InvalidArgumentExceptionFactory::createForInvalidFakerFormatter($formatter);
 }
All Usage Examples Of Nelmio\Alice\Faker\GeneratorFactory::createOrReturnExistingInstance