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.
- Installation
- Example
- Getting Started
- Basic Usage
- Detailed Usage
- Complete Reference
- Creating Fixtures
- Fixture Ranges
- Calling Methods
- Specifying Constructor Arguments
- Custom Setter
- Optional Data
- Handling Unique Constraints
- Handling Relations
- References
- Multiple References
- Self reference
- Passing references to providers
- Keep Your Fixtures Dry
- Fixture Inheritance
- Including files
- Variables
- Parameters
- Customize Data Generation
- Faker Data
- Reuse generated data using objects value
- Custom Faker Data Providers
- Event handling with Processors
This is installable via Composer as nelmio/alice:
composer require nelmio/alice
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.
Released under the MIT License.