我在新项目中使用了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注射器并让IDE无法理解代码?
答案 0 :(得分:4)
您可以使用此解决方法。
<强> services.php 强>
/**
* Registering the helper component
*/
$di->set('helper', function () {
$helper = new \Frontend\Helpers\Common();
return $helper;
});
<强>一个AbstractController 强>
/**
* My Abstract controller
*
* @property \Frontend\Helpers\Common helper
*/.
class AbstractController extends \Phalcon\Mvc\Controller
{
}
<强>的TestController 强>
class TestController extends AbstractController
{
public function indexAction()
{
$this->helper->...
}
}