bitecodes / factrine-bundle
此包已被废弃且不再维护。没有建议的替代包。
Doctrine2和Symfony2的实体工厂
v0.8.0
2016-04-17 06:46 UTC
Requires
- php: >=5.5
- dflydev/dot-access-data: ^1.0
- doctrine/doctrine-bundle: ~1.4
- doctrine/orm: >=2.2.1,<2.6-dev
- fzaninotto/faker: ^1.5
- symfony/console: >=2.6.0
- symfony/dependency-injection: >=2.7.0
- symfony/expression-language: >=2.6.0
- symfony/property-access: >=2.6.0
- symfony/yaml: >=2.6.0
Requires (Dev)
- matthiasnoback/symfony-dependency-injection-test: ^0.7.6
- mikey179/vfsstream: ^1.6.1
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ~1.0
- symfony/finder: ^2.6
- symfony/framework-bundle: >=2.6.0
- symfony/http-kernel: >=2.6.0
README
用法
创建实体文件
稍后添加
如何使用factrine
获取持久化实体
大多数情况下,您想将实体持久化到数据库中。调用create方法,工厂将向您提供一个新的持久化实体。
$post = $factory->create(Post::class); $post->getid(); // 1 $post->getTitle(); // Lorem ipsum dolores $post->getComments(); // Get a collection of comments
请注意,如果它们在YAML文件中指定,关联的实体也将被生成。
多个实体
可能您需要一组实体。您可以使用times方法。
$comments = $factory->times(10)->create(Comment::class); // You will receive 10 persisted comments with fake values
覆盖假数据
您可能想覆盖一些假数据。创建方法接受一个数组作为第二个参数。传入您想要覆盖的参数。
$user = $factory->create(User::class, ['username' => 'admin']); $user->getUsername(); // admin $user->getEmail(); // wizfarrell@downdrum.org (fake data)
获取新实例
如果您不想持久化实体,您可以调用make并获取实体的新实例。
$post = $factory->make(Post::class) $post->getId() // null $post->getTitle() // Hic clares nombre
当然,您也可以使用times方法或覆盖默认值。
获取实体的假值
可能您不需要实体的实例,但需要一些假数据来创建实体对象。values方法将返回实体的假值数组。
$productData = $factory->values(Product::class); $productData['category'] // Electronics $productData['price'] // $20.87 $this->productHandler->create($productData);
调用times方法,您将收到一个包含假数据的数组。