Phalcon DI phpStorm IDE 不理解我的代码

Phalcon DI phpStorm IDE not understand my code

我在一个新项目中使用 phalcon,但我意识到 phpStorm 不理解我自己的注入器,例如:

   /**
     * Registering the helper component
     */
    $di->set('helper', function () {
        $helper = new \Frontend\Helpers\Common();
        return $helper;
    });

我可以通过我的控制器做到这一点:

   $this->helper->getHelp();

它工作正常,但 IDE 不会自动完成我的代码。我当然可以这样做:

   /** @var \Frontend\Helpers\Common $helper  */
   $helper->...

在这种情况下,我可以看到所有方法,但是每次我需要使用助手时,我都必须添加此注释。

我想知道是否有办法使用 owns injectors 并使 IDE 能够理解代码?

您可以使用此解决方法。

services.php

/**
 * Registering the helper component
 */
$di->set('helper', function () {
    $helper = new \Frontend\Helpers\Common();
    return $helper;
});

抽象控制器

/**
 * My Abstract controller
 *
 * @property \Frontend\Helpers\Common helper
 */.
class AbstractController extends \Phalcon\Mvc\Controller
{

}

测试控制器

class TestController extends AbstractController
{
    public function indexAction()
    {
        $this->helper->...
    }
}