loading...

re: All the changes that come with PHP 7.4 VIEW POST

FULL DISCUSSION
 

Unfortunately, only contravariant arguments are supported so the command/handler example will not work:

interface Command{}

interface CommandHandler{
    public function handle(Command $command) : void ;
}

class KillAllHumans implements Command{}

class KillAllHumansHandler implements CommandHandler{
    public function handle(KillAllHumans $command) : void {}
}
 

I can't see the usefulness of contravariant VS covariant arguments. I guess there were some technical issues implementing covariant arguments.

I was hyped up with PHP 7.4 only for that!

 

You are right. Amazingly enough, I realized it in a conversation in some slack community at the same time you wrote the comment.

I will correct the article as soon as I can. Update: fixed!

Thanks for pointing it out!

code of conduct - report abuse