for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace VGirol\JsonApiFaker\Factory;
class CollectionFactory extends BaseFactory
{
/**
* Array of ResourceObjectFactory or ResourceIdentifierFactory objects
*
* @var array
*/
public $array;
* Undocumented function
* @param array<ResourceIdentifierFactory>|array<ResourceObjectFactory> $collection
* @return static
public function setCollection($collection)
$this->array = $collection;
return $this;
}
* @return array|null
public function toArray(): ?array
if (!isset($this->array)) {
return null;
return $this->map(
function ($resource) {
return $resource->toArray();
);
* @param callable $callback
public function each($callback)
array_walk($this->array, $callback);
* @param Callable $callback
* @return array
public function map($callback): array
return array_map($callback, $this->array);
public function fake($options = null, $count = 5)
if (is_null($options)) {
$options = self::FAKE_RESOURCE_OBJECT;
$class = (($options & self::FAKE_RESOURCE_IDENTIFIER) == self::FAKE_RESOURCE_IDENTIFIER) ?
ResourceIdentifierFactory::class : ResourceObjectFactory::class;
$collection = [];
for ($i = 0; $i < $count; $i++) {
$collection[] = (new $class)->fake();
return $this->setCollection($collection);