Использование пользовательских фейкерных провайдеров данных без стандартных учений доктрины в Nelmio Alice

Я настраиваю NelmioAlice а также обманщик в проекте Symfony2 через AlixeFixturesBundle. мне нужно состоящий приспособление как например:

representative{1..100}:
veeva_rep_id (unique): qlv_005800000067SwzAAE

который является qlv_ префикс, за которым следует произвольная строка из 18 символов. Лучший способ, которым я нашел, чтобы сделать это (если кто-то знает другой или лучший способ сделать это, дайте мне знать), использовал пользовательский фейкер, и я написал этот фрагмент кода:

<?php
/**
* FakerProvider: VeevaProvider.
*/

namespace PDI\PDOneBundle\DataFixtures;

use ReverseRegex\Lexer;
use ReverseRegex\Random\SimpleRandom;
use ReverseRegex\Parser;
use ReverseRegex\Generator\Scope;

class VeevaProvider extends \Faker\Provider\Base
{
public function veevaRepId()
{
$lexer = new  Lexer('[a-zA-Z0-9]{18}');
$gen = new SimpleRandom(10007);
$result = '';

$parser = new Parser($lexer, new Scope(), new Scope());
$parser->parse()->getResult()->generate($result, $gen);

return 'qlv_' . $result;
}
}

Как объяснить Вот в Faker документы. Сейчас, Вот у NelmioAlice автор объясняет, как добавить Пользовательские провайдеры данных Faker но он использует Doctrine Fixtures, чего у меня нет, имея это, как мне загрузить и использовать провайдера, которого я написал для приборов? Любой совет по этому поводу?

3

Решение

Это должно быть так же просто, как передать экземпляр провайдера в Loader когда вы его строите:

$loader = new Loader('en_US', [new VeeveProvider]);

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector