Skip to content

Instantly share code, notes, and snippets.

@mdzwigala
Created December 5, 2020 00:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdzwigala/d3b94a79bc09e84ab29417416d754141 to your computer and use it in GitHub Desktop.
Save mdzwigala/d3b94a79bc09e84ab29417416d754141 to your computer and use it in GitHub Desktop.
ADR-EXAMPLE\Application\UserFactory
<?php
declare(strict_types=1);
namespace App\Domain\Factory;
use App\Action\Input\AddUserInput;
use App\Domain\Model\User;
use App\Domain\Service\PasswordEncoder;
final class UserFactory
{
private PasswordEncoder $passwordEncoder;
public function __construct(PasswordEncoder $passwordEncoder)
{
$this->passwordEncoder = $passwordEncoder;
}
public function fromAddUserInput(AddUserInput $input): User
{
return new User(
$input->getEmail(),
$this->passwordEncoder->encode($input->getPassword())
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment