for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Created by PhpStorm.
* User: davis
* Date: 7/23/17
* Time: 3:05 AM
*/
namespace DavisPeixoto\BlogCore\Entity;
use DateTime;
use Ramsey\Uuid\Exception\InvalidUuidStringException;
* Class Author
* @package DavisPeixoto\BlogCore\Entity
class Author extends AbstractEntity
{
* @var string
private $name;
private $email;
private $bio;
* @var DateTime|null
private $birthdate;
* Author constructor.
* @param string $name
* @param string $email
* @param string $bio
* @param string|null $id
* @param DateTime|null $birthdate
* @throws InvalidUuidStringException
public function __construct(string $name, string $email, string $bio, string $id = null, DateTime $birthdate = null)
$this->setId($id);
$this->setName($name);
$this->setEmail($email);
$this->setBio($bio);
$this->setBirthdate($birthdate);
}
* @codeCoverageIgnore
* @return string
public function getName(): string
return $this->name;
public function setName(string $name)
$this->name = $name;
public function getEmail(): string
return $this->email;
public function setEmail(string $email)
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
$email
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
if ($email !== false) {
$this->email = $email;
public function getBio(): string
return $this->bio;
public function setBio(string $bio)
$this->bio = $bio;
* @return DateTime|null
public function getBirthdate()
return $this->birthdate;
public function setBirthdate(DateTime $birthdate = null)
$this->birthdate = $birthdate;