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.
Note: v3 is on its way, get involved!
- 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
- Third-party libraries
Other references:
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.
- Symfony:
- Nette
- Zend Framework 2:
Released under the MIT License.