3

我在由 Silex 提供支持的应用程序中有以下代码:

$uknownObj->unkownRef

$uknownObj作为一个依赖注入容器。

我知道这unkownRef是一个例子MyCoolObj

现在我如何告诉 IntelliJ / PhpStorm 来帮助我自动完成这个对象?

4

4 回答 4

4

只需分配unkownRef给一个变量并提供这样的注释。

/** @var MyCoolObj $obj */
$obj = $uknownObj->unkownRef;
于 2016-01-26T10:32:43.897 回答
1

您可以使用 xmoex 建议的 phpdoc 注释,也可以使用以下命令断言类型instanceof

在此处输入图像描述

于 2016-01-26T09:49:00.740 回答
1

您可以在容器类中使用 phpdoc,这是我在 Slim 框架中使用的:

/**
* @property-read \Monolog\Logger logger
* @property-read \Slim\Views\Twig view
* @property-read \PDO db
*/
class Container extends PimpleContainer implements ContainerInterface
{
}
于 2017-01-21T23:05:02.680 回答
0

我刚刚通过_ide_autocomplete.php在项目根目录中创建一个文件来解决这个问题,我刚刚创建了一个虚拟类,其中所有的苗条容器键作为属性。然后在我的路线中,一开始我只是放了一个这样的phpblock

/** @var Dummy $this */

我的源代码是文章在https://blog.shaharia.com/slim-php-framework-phpstorm-ide-autocompletion-solution/

于 2017-03-11T21:45:17.797 回答