PHPStorm生成phpdoc

时间:2016-01-31 10:17:22

标签: phpstorm silex

我有这样的方法:

    public function connect (Application $app)
    {

    $controller = $app['controllers_factory'];

    $controller->get('/login', function () {
       return 'test';
    });

    return $controller;
    }

一切正常,但我想在私人领域保存$ app,就像这样

    private $app;

    public function connect (Application $app)
    {

    $this->app = $app;

    $controller = $this->app['controllers_factory'];

    $controller->get('/login', function () {
       return 'test';
    });

    return $controller;
    }

在这种情况下,PHPStrom会抛出错误"方法在类#34;中找不到。我试过phpdoc,但它没有工作(如你所见,我使用SILEX微框架)

1 个答案:

答案 0 :(得分:0)

自动完成功能在此步骤中陷入困境,因为它不清楚来自数组的值是什么(即使它是一个像数组一样的对象)。

$controller = $this->app['controllers_factory'];

有两种可能性。首先,如果您有一个由共享单个类型的元素组成的数组,您可以指定如下类型:

/**
 * @var Application[]
 */
private $app;

另一种方法是指定内联变量的类型:

/** @var Application $controller */
$controller = $this->app['controllers_factory'];

PHPStorm支持这两个选项。