I am a full-stack web developer from Brno, Czech Republic. I contribute to open-source projects, write a technical blog, and speak at meetups and conferences.
PHPStan has only supported invariant and covariant template types because they are so prevalent in real-world applications. But contravariant template types also have their use cases, and the latest release of PHPStan adds support for them, among other small improvements to generics.
In my recent post, I've introduced a PHPStan extension that brings support for sealed classes and interfaces to statically analyzed PHP. Looking back, I feel I haven't stressed the main benefit enough, so here I am doing it justice.
Generics: an ingenious tool of abstraction for some, a source of nightmares for some, and a great unknown for others. And yet, it's likely that most of us have used them. This talk explains what generics are and illustrates how to use them in PHP thanks to PHPStan.See more talks