79346077

Date: 2025-01-10 14:53:22
Score: 1
Natty:
Report link

I wrote library for that

public function add(mixed ...$args): void
{
        $addMethodOverloader = MethodOverloader::create($this)
        ->register($this->addByFirstNameLastNameAndNumber(...),'string', 'string', 'int')
        ->register($this->adddByUser(...), User::Class)
        ->register($this->addByPlayer(...), Player::class)
        ->register($this->addByArray(...), 'array')
        ->register($this->addNyNameAndNumber(...), 'string', 'int')
        ->onFailure(function() {
            throw new MyCustomException();
        });
              
    $addMethodOverloader->invoke($args);
}

$userRepository = new UserRepository();
$userRepository->add('Micheal', 'Jordan', 23);
$userRepository->add('Micheal Jordan', 23);
$userRepository->add(new User("Micheal", "Jordan", 23));
$userRepository->add(new Player("Micheal", "Jordan", 23));
$userRepository->add(['fist_name' => 'Micheal', 'last_name' => 'Jordan', 'number' => 23]);

StormMethodOverload GitHub

Reasons:
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: MichaƂ Czerski