PhpStorm自动完成对由Pimple管理的未知对象属性的支持?

时间:2016-01-26 09:31:03

标签: php intellij-idea phpstorm silex pimple

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

$uknownObj->unkownRef

$uknownObj是一个依赖注入容器。

我知道unkownRef是实例MyCoolObj

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

4 个答案:

答案 0 :(得分:3)

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

/** @var MyCoolObj $obj */
$obj = $uknownObj->unkownRef;

答案 1 :(得分:1)

您可以使用xmoex建议的phpdoc注释,也可以使用instanceof声明类型:

enter image description here

答案 2 :(得分:1)

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

/**
* @property-read \Monolog\Logger logger
* @property-read \Slim\Views\Twig view
* @property-read \PDO db
*/
class Container extends PimpleContainer implements ContainerInterface
{
}

答案 3 :(得分:0)

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

/** @var Dummy $this */

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