Expressive fixtures generator

2.2.2 2016-07-15 19:50 UTC


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!

Table of Contents

  1. Installation
  2. Example
  3. Getting Started
    1. Basic Usage
    2. Detailed Usage
  4. Complete Reference
    1. Creating Fixtures
    2. Fixture Ranges
    3. Calling Methods
    4. Specifying Constructor Arguments
    5. Custom Setter
    6. Optional Data
    7. Handling Unique Constraints
  5. Handling Relations
    1. References
    2. Multiple References
    3. Self reference
    4. Passing references to providers
  6. Keep Your Fixtures Dry
    1. Fixture Inheritance
    2. Including files
    3. Variables
    4. Parameters
  7. Customize Data Generation
    1. Faker Data
    2. Reuse generated data using objects value
    3. Custom Faker Data Providers
  8. Event handling with Processors
  9. 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:

        username: '<username()>'
        fullname: '<firstName()> <lastName()>'
        birthDate: '<date()>'
        email: '<email()>'
        favoriteNumber: '50%? <numberBetween(1, 200)>'

        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.

Third-party libraries


Released under the MIT License.