Psalm
Get started
Documentation
Paid support
Plugins
Blog
GitHub
<?php abstract class A { final private function __construct() {} final protected static function create1(): static { return new static(); } /** @return static */ final protected static function create2() { return new static(); } } final class B extends A { public static function doCretate1(): self { return self::create1(); } public static function doCretate2(): self { return self::create2(); } }
Snippet created on January 20 2021 at 23:02 UTC
Settings
Get link