【发布时间】:2019-03-08 21:05:57
【问题描述】:
我很想为 PhpStorm 找到一种方法(如果这可能的话?)自动完成由我的 Factory 类生成的代码,而不必每次我从中提取一个类时都编写一个 PHPDoc。
这是我的代码:
<?php
class Factory
{
public function getManager(string $class)
{
// if in cache ... returns
// not in cache > init
$manager = new $class();
$this->doStuff($manager);
return $manager;
}
public function doStuff($manager) {}
}
$factory = new Factory();
/** @var DateTime $dtClass */
$dtClass = $factory->getManager(DateTime::class);
$dtClass->getTimestamp();
因此,为了自动完成和静音 PhpStorm 警告,我必须在每个 getManager() 调用相应的类之后添加该行。
/** @var DateTime $dtClass */
我想知道 PHPDoc、PhpStorm 帮助文件或任何东西是否可以帮助做到这一点?
/**
* @template T
* @param string $class <T>
* @return <T>
*/
public function getManager(string $class)
{
【问题讨论】:
-
confluence.jetbrains.com/display/PhpStorm/… 正是这样做的。您可以查看 Laravel IDE 帮助程序(composer 包;也有预生成的文件),它为 Laravel 执行此操作,并为自己手动制作此类文件。
标签: generics phpstorm phpdoc type-hinting