bitecodes/factrine-bundle

此包已被废弃且不再维护。没有建议的替代包。

Doctrine2和Symfony2的实体工厂

安装数: 1,729

依赖项: 0

建议者: 0

安全: 0

星星: 2

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v0.8.0 2016-04-17 06:46 UTC

This package is not auto-updated.

Last update: 2022-08-01 07:28:56 UTC


README

Build Status Coverage Status Quality Score SensioLabsInsight

用法

创建实体文件

稍后添加

如何使用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方法,您将收到一个包含假数据的数组。