43 lines
971 B
PHP
43 lines
971 B
PHP
<?php
|
|
|
|
namespace Slovocast\Domain\Factory;
|
|
|
|
use Slovocast\Domain\Entity\Episode;
|
|
use Slovocast\Domain\FactoryInterface;
|
|
|
|
class EpisodeFactory implements FactoryInterface
|
|
{
|
|
public static function fromArray(array $props): Episode
|
|
{
|
|
$episode = new Episode(
|
|
$props['title'],
|
|
$props['link'],
|
|
(int) $props['length'],
|
|
$props['description'],
|
|
$props['serialNumber'],
|
|
(bool) $props['explicit'],
|
|
$props['publishedDate'],
|
|
$props['episodeType']
|
|
);
|
|
|
|
if ($props['id']) {
|
|
$episode->setId($props['id']);
|
|
}
|
|
|
|
if ($props['created_at']) {
|
|
$episode->setCreatedAt($props['createdAt']);
|
|
}
|
|
|
|
if ($props['updated_id']) {
|
|
$episode->setUpdatedAt($props['updatedAt']);
|
|
}
|
|
|
|
return $episode;
|
|
}
|
|
|
|
public static function toArray(Episode $episode): array
|
|
{
|
|
return [];
|
|
}
|
|
}
|