sp / fixture-dumper
从Doctrine导出固定值。
v1.2.0
2016-12-21 10:51 UTC
Requires
- php: >=5.3.2
- doctrine/common: >=2.2,<2.7-dev
- jms/cg: ~1.2
- phpcollection/phpcollection: ~0.4
- symfony/filesystem: ^2.2|^3.0
- symfony/options-resolver: ^2.2|^3.0
- symfony/property-access: ^2.2|^3.0
Requires (Dev)
- doctrine/data-fixtures: ~1.1
- doctrine/mongodb-odm: ^1.0.8
- doctrine/orm: >=2.2,<2.7-dev
- phpunit/phpunit: ~4.6
- symfony/yaml: ^2.2|^3.0
Suggests
- doctrine/data-fixtures: For loading fixtures
- doctrine/mongodb-odm: For dumping MongoDB ODM fixtures
- doctrine/orm: For dumping ORM fixtures
- doctrine/phpcr-odm: For dumping PHPCR ODM fixtures
- nelmio/alice: To load fixtures in yml or array format
- symfony/yaml: If you want to dump fixtures in yml format
README
这个库旨在为Doctrine ORM/ODM提供一种简单的导出固定值的方式。
注意: 此库仍处于早期阶段。
安装
此库可以通过Composer安装,作为sp/fixture-dumper。
使用方法
基本使用
$manager = ...; // entity or document manager $registry = new \Sp\FixtureDumper\Converter\Handler\HandlerRegistry(); $registry->addSubscribingHandler(new \Sp\FixtureDumper\Converter\Handler\DateHandler()); // for creating fixtures classes $generator = new \Sp\FixtureDumper\Generator\ClassFixtureGenerator(); // for creating yml files which can be loaded with the alice fixtures library $ymlGenerator = new \Sp\FixtureDumper\Generator\Alice\YamlFixtureGenerator(); // for creating array files which can be loaded with the alice fixtures library $arrayGenerator = new \Sp\FixtureDumper\Generator\Alice\ArrayFixtureGenerator(); $generatorMap = new \PhpCollection\Map(array('class' => $generator, 'yml' => $ymlGenerator, 'array' => $arrayGenerator)); $dumper = new \Sp\FixtureDumper\ORMDumper($manager, $registry, $generatorMap); // or $dumper = new \Sp\FixtureDumper\MongoDBDumper($manager, $registry, $generatorMap); // $dumper->setDumpMultipleFiles(false); // the second argument specifies the generator type you want to use $dumper->dump('/your/workspace/src/Acme/DemoBundle/DataFixtures/ORM', 'array');
排除策略
你可以实现接口 ExclusionStrategyInterface
来定义选择要导出的实体的策略。
// ... $dumper = new \Sp\FixtureDumper\ORMDumper($manager, $registry, $generatorMap); // The entity Post and Comment won't be dumped $exclusion = new ArrayExclusionStrategy(['Post', 'Acme\DemoBundle\Entity\Comment']); $dumper->setExclusionStrategy($exclusion); $dumper->dump(...);
选项
AbstractDumper#dump
接受一个第三个参数 $options
,它是一个数组,包含以下键
- namespace:用于生成的类的命名空间,此选项在使用ClassFixtureGenerator时是必需的
许可证
在MIT许可证下发布,请参阅LICENSE。