Отчасти связано с оригинальным вопросом:
Вы также можете определить это в метафайле phpstorm. Вот пример заводского метода (v2016.3):
// Define in .phpstorm.meta.php
namespace PHPSTORM_META {
$STATIC_METHOD_TYPES = [
\Factory::create('') => [],
];
}
// Then use in code
$factory = new \Factory();
$user = $factory->create(\User::class);
// Here you get autocomplete.
$user->subscribe();
Таким образом, вам не нужно docblock каждую возможность, когда происходит магия.
У некоторых документов для деталей.