Download the PHP package vivait/string-generator-bundle without Composer
On this page you can find all versions of the php package vivait/string-generator-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vivait/string-generator-bundle
More information about vivait/string-generator-bundle
Files in vivait/string-generator-bundle
Package string-generator-bundle
Short Description Generate random strings for IDs or keys using property annotations
License MIT
Informations about the package string-generator-bundle
StringGeneratorBundle
This bundle allows you to automatically generate a unique random string on an entity property, useful for
creating keys. Using Doctrine's prePersist
callback, StringGenerator adds the generated string to a property
before the entity is persisted. It also checks whether the string is unique to that property (just in case) and if not, quietly
generates a new string.
Install
Run: composer require vivait/string-generator-bundle:^3.0
to install the bundle.
If you are using PHP 5.3 or 5.4 you can use the legacy versionvivait/string-generator-bundle:^1.1
Update your AppKernel
:
Bundled generators
StringGenerator
Generates a random string based on a pool or characters. Defaults:
SecureStringGenerator
Generates a secure random string using ircmaxell's RandomLib. The library provides three different strengths of
strings(currently high
is unavailable), low
and medium
. Defaults:
SecureBytesGenerator
Generates a secure random byte string using the Symfony\Component\Security\Core\Util\SecureRandom
class. Defaults:
UuidStringGenerator
For use this generator you should require the package in your application.
For generating a UUID:
You can use also namespaced versions (v3 and v5). For example with the v5:
Usage
Add the @Generate(generator="generator_name")
annotation to an entity property
(where generator_name
is the name of a generator defined in the configuration).
generator
is a required property of the annotation.
Options
Generators that implement ConfigurableGeneratorInterface
, such as the bundled generators have options which can be configured.
To do this, set the options parameter on the annotation:
Callbacks
It's possible to define callbacks on the Generator
class that you are using.
For example, with the bundled StringGenerator, you may wish to set the a prefix on the generated string
This can be achieved by setting the callbacks
option. For example:
Here, setChars()
is called in the StringGenerator
class, passing ABCDEFG
as a parameter.
It's even possible to set a callback value dynamically:
In this case StringGenerator::setPrefix("default")
will be called
Unique
Setting unique
is boolean and tell if the string must be unique or not, by default true
Override
By default, override
is set to true, so a string is always generated for a property.
However, by setting override
to false, only null properties will have a string generated for them.
Custom generators
You can use your own generators by implementing GeneratorInterface
and defining the generator in your services.yml
file with the tag vivait_generator.generator
and an alias
, which will be used to identify the Generator in annotations.
To create configurable generators, implement ConfigurableGeneratorInterface
. This interface uses
Symfony\Component\OptionsResolver\OptionsResolver
to set the generator configuration.
Set default options:
Do something with options:
Upgrading from version 1 to version 2
Defining generators in configuration was deprecated in version 2 in favour of service definitions, so they must be removed.
-
For any CUSTOM generators you have added, you must now define them as services with a
vivait_generator.generator
tag and analias
attribute. You will not need to do this for the bundled default generators. - Remove all
vivait_string_generator
configuration from your project
Upgrading from version 2 to version 3
- Remove all
vivait_string_generator
configuration from your project if not already gone as it will no longer be recognised.
All versions of string-generator-bundle with dependencies
doctrine/orm Version ^2.6
symfony/security Version ^3.3|^4.0
symfony/options-resolver Version ^3.0|^4.0
ircmaxell/random-lib Version ~1.0
symfony/dependency-injection Version ^3.3|^4.0
symfony/config Version ^3.3|^4.0