abbieben07/faker-provider-english-words

A Faker provider for English words.

1.4 2021-05-16 07:41 UTC

This package is auto-updated.

Last update: 2024-04-16 14:07:13 UTC


README

Why English words? Let me explain.

First of all, look at this link

Basically, the default Lorem provider that comes with the library is very limited when generating unique words. The internal lorem-ipsum words-list comes with 182 unique words only.

This provider does just one thing: It extends the default Lorem provider, and changes the word-list with English words (I got the dictionary from here, I removed a couple of lines however), which contain about 400k words.

Install

$ composer require --dev breda/faker-provider-english-words

Usage

// Assuming everything is auto-loaded
// Create faker
$faker = Faker\Factory::create();
// Just make sure the default Lorem provider is not added after this. 
$faker->addProvider(new BReda\Faker\Provider\EnglishWords($faker));

Let's test it out

This will throw this exception Fatal error: Uncaught OverflowException: Maximum retries of 10000 reached without finding a unique value

// Create faker
$faker = Faker\Factory::create();

foreach(range(0, 2000) as $i) {
    echo $faker->unique()->word;
}

This will not throw an exception and will successfully print 200,000 unique words from the English language.

// Create faker
$faker = Faker\Factory::create();
$faker->addProvider(new BReda\Faker\Provider\EnglishWords($faker));

foreach(range(0, 200000) as $i) {
    echo $faker->unique()->word;
}

And that's it!