【问题标题】:PHP Docblock Type Hinting for Current Object in Magento Template?Magento模板中当前对象的PHP Docblock类型提示?
【发布时间】:2012-11-26 15:17:25
【问题描述】:

我如何暗示 $this 在 Magento 模板的上下文中是什么,带有 DocBlock?

例如,template/page/html/ 目录中的head.phtmlMage_Page_Block_Html_Head 的对象。我试过的方法是:

<?php
/**
 * @var $this Mage_Page_Block_Html_Head
 */
?>

不幸的是,我的 IDE (NetBeans) 似乎没有收到提示。所以我的问题是,是否有正确的方法可以让 NetBeans 识别提示。

【问题讨论】:

  • 通常(但过去有一些讨论),通过 cmets 的变量提示仅是单行的,通常在开头有一个星号:/* @var $this Mage_Page_Block_Html_Head */ - 如果有帮助,请尝试,我'不确定 Netbeans。另请参阅:How do I make my PHP IDE understand Dependency Injection Containers? 编辑: 但是,我想知道您为什么需要输入提示 $this。只是好奇,由于文件上下文,通常它应该按原样工作。
  • 不幸的是,没有运气。 $this 的自动完成在模板的文件上下文中对我不起作用(尽管,如果我正在扩展一个类或类似的东西......它可以工作)
  • 嗯,您使用的是哪个 Netbeans 版本?我现在已经用 6.9 进行了测试,/* @var $this Bar */Foo 类的方法中工作,给我Bar 类型的提示。在 Phpstorm 5.5 中,这同样有效。
  • NetBeans 7.2 - 你能发布代码吗?我很好奇你是否在 DocBlock 之后声明了 $this,我没有这样做。
  • 查看截图:i.imgur.com/pQpBu.png - 而且我通常不使用 Netbeans,所以我的版本可能已经过时了。您可能应该同时安装第二个更新的 Netbeans 并尝试使用它。

标签: php magento netbeans docblocks


【解决方案1】:

Netbeans 应该接受它,至少我的版本是 6.9 的

/* @var $this Bar */

这样做:

这是一个包含场景的示例(没有类)。

注意使用单行 - 单星号 - 类型 - 评论。

还要注意 Netbeans 更新了索引。与您的情况一样:

在这种情况下,NetBeans 必须扫描更改,我原以为它会自动执行此操作。 [...]。就我而言,它只是定期扫描。


Docblock 变量提示相关:

【讨论】:

    猜你喜欢
    • 2017-11-21
    • 2013-07-18
    • 2023-03-22
    • 1970-01-01
    • 2017-09-09
    • 2016-10-15
    • 2018-01-04
    • 2015-02-17
    相关资源
    最近更新 更多