Psalm
Get started
Documentation
Paid support
Plugins
Blog
GitHub
<?php /** * @psalm-template T * @param class-string<T> $className * @return callable(...mixed):T */ function maker(string $className) { return function(...$args) use ($className) { /** @psalm-suppress MixedMethodCall */ return new $className(...$args); }; } /** @psalm-trace $maker */ $maker = maker(stdClass::class); /** @psalm-trace $result */ $result = array_map($maker, ["abc"]);
Snippet created on March 3 2021 at 00:34 UTC
Settings
Get link