我正在通过AlixeFixturesBundle在 Symfony2 项目中设置NelmioAlice和Faker。我需要一个组合夹具,例如:
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,有了这个,我如何加载和使用我在装置上编写的提供程序?有什么建议吗?