Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 1.6 KB

faker-providers.md

File metadata and controls

60 lines (42 loc) · 1.6 KB

Faker Providers

As explained in nelmio/alice documentation, you have three ways to declare custom data provider. To use Custom Faker Provider classes you will have to declare them as services:

<?php

namespace AppBundle\DataFixtures\Faker\Provider;

class FooProvider
{
    public static function foo($str)
    {
        return 'foo'.$str;
    }
}

Then declare it as a service with the nelmio_alice.faker.provider tag:

# config/services.yaml

services:
    AppBundle\DataFixtures\Faker\Provider\FooProvider:
        tags: [ { name: nelmio_alice.faker.provider } ]

If autoconfigure is enabled, you can omit the tag as long as your provider extends Faker\Provider\Base:

# config/services.yaml

services:
    AppBundle\DataFixtures\Faker\Provider\FooProvider: ~

That's it! You can now use it in your fixtures:

# fixtures/orm/dummy.yml (Sf4)
# or app/Resources/fixtures/orm/dummy.yml

AppBundle\Entity\Dummy:
    brand{1..10}:
        name: <foo('a string')>

Warning: rely on Custom Faker Providers helpers to generate random data (most of them are static).

Refer to nelmio/alice for a more advanced documentation.

Previous chapter: Advanced usage
Next chapter: Custom Alice Processors