johnykvsky / dummyproviders
Sample language providers for DummyGenerator
Requires
- php: ^8.3
- johnykvsky/dummygenerator: ^0.2.0
Requires (Dev)
- phpstan/extension-installer: ^1.4.3
- phpstan/phpstan: ^2.1.39
- phpunit/phpunit: ^12.5.14
- slevomat/coding-standard: ^8.27.1
- squizlabs/php_codesniffer: ^4.0
Suggests
- ext-intl: Required for better transliteration i.e. in Internet Extension
- ext-mbstring: Required for multibyte Unicode string functionality.
This package is auto-updated.
Last update: 2026-02-27 14:38:55 UTC
README
This repository contains language providers for DummyGenerator:
- en_US
- en_GB
- pl_PL
Installation
composer require johnykvsky/dummyproviders --dev
Usage
For full info about DummyGenerator check go here
Easiest way to add language providers is to go with DummyGenerator factory method:
$generator = DummyGenerator::create()->withProvider(new EnUsDefinitionPack());
But it can be also done with explicit container usage:
$container = DiContainerFactory::all()->withDefinitions((new EnUsDefinitionPack())->all()); $generator = new DummyGenerator($container); echo $generator->state(); // i.e. "Arkansas" echo $generator->realText(); // it will give you part of ./resources/en_US.txt
But provider can be changed in a shorter way, via DummyGenerator itself:
$generator = DummyGenerator::create()->withProvider(new EnUsDefinitionPack()); echo $generator->state(); // i.e. "Arkansas" $generator = $generator->withProvider(new PlPlDefinitionPack()); echo $generator->licensePlate(); // i.e. "CIN O6UT"
Remember: generator is immutable.
Text extension
Providers add one more extension: Text. It has only one method, realText() that allows you to generate text from passed string or given txt file.
Text extension is a bit different for one reason - it uses external .txt file as source to large text. By default, it's in resources/en_US.txt but you can either:
- pass text to
Textconstructor (i.e.$text = new Text(file_get_contents('my_file.txt'));) - extend
Textclass and use different location in$defaultTextproperty
Regexify
There is Regexify class in src folder, for compatibility - it's still being used in some providers
