使用Nelmio Alice中的无标准学说固定装置的自定义伪造数据提供商



我正在通过AlixeFixturesBundle在Symfony2项目中设置Nelmioalice和Faker。我需要一个组成的固定装置,例如:

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

qlv_前缀,后面是随机18个字符字符串。我发现完成此操作的最好方法(如果有人知道另一个或更好地完成此操作的方法)是使用自定义伪造者,我写了这件代码:

<?php
/**
 * FakerProvider: VeevaProvider.
 */
namespace PDIPDOneBundleDataFixtures;
use ReverseRegexLexer;
use ReverseRegexRandomSimpleRandom;
use ReverseRegexParser;
use ReverseRegexGeneratorScope;
class VeevaProvider extends FakerProviderBase
{
    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 Docs中所述。现在,作者在Nelmioalice上解释了如何添加自定义伪造数据提供商,但它使用了我不这么做的学说固定装置?关于此的任何建议?

它应该像将提供商的实例传递到Loader时一样简单:

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

最新更新