Relying on fzaninotto/Faker, Alice allows you to create a ton of fixtures/fake data for use while developing or testing your project. It gives you a few essential tools to make it very easy to generate complex data with constraints in a readable and easy to edit way, so that everyone on your team can tweak the fixtures if needed.
You are reading the documentation for the 2.x branch. If you want to head back to the latest version, click here.
2.x is in maintenance mode: PRs are accepted, but no active development is done on it by the maintainers any longer.
- Installation
- Example
- Getting Started
- Complete Reference
- Handling Relations
- Keep Your Fixtures Dry
- Customize Data Generation
- Event handling with Processors
- Third-party libraries
Other references:
This is installable via Composer as nelmio/alice:
composer require --dev nelmio/alice:^2.0
Here is a complete example of entity declaration:
Nelmio\Entity\User:
user{1..10}:
username: '<username()>'
fullname: '<firstName()> <lastName()>'
birthDate: '<date()>'
email: '<email()>'
favoriteNumber: '50%? <numberBetween(1, 200)>'
Nelmio\Entity\Group:
group1:
name: Admins
owner: '@user1'
members: '<numberBetween(1, 10)>x @user*'
created: '<dateTimeBetween("-200 days", "now")>'
updated: '<dateTimeBetween($created, "now")>'
You can then load them easily with:
$objects = \Nelmio\Alice\Fixtures::load(__DIR__.'/fixtures.yml', $objectManager);
For more information, refer to the documentation.