Netbeans类型暗示包含内部

时间:2013-01-09 18:29:36

标签: php netbeans type-hinting

所以以下是一个奇怪的问题,虽然我确信当谈到这种行为是如何发生时,人们会指责我做坏事,为了我正在进行的项目这是用例,我很想知道我是否遗漏了某些东西。

我有以下情况

 class foo()
 {
      private $_bar;

      public function __construct($bar)
      {
           $this->_bar = $bar;
      }

      public function doStuff()
      {
           include('doStuffCode.php');
      }
 }

doStuffCode.php:

 $this->_bar->(this is where I'd like to get some type hinting)

我试图放入/* var $this->_bar Bar */,但这似乎对我没有任何帮助。似乎我无法在特定的类变量中添加类型提示。现在的解决方法是设置一个名为$ bar的临时变量,在其上设置类型提示,然后使用它来获取我正在寻找的方法并将它们复制回正确的上下文。

我很好奇,如果我只是在做错事,做一些不支持的事情,误解我应该如何宣布javadoc,或者对这种类型暗示应该如何工作有一个根本的误解。

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

您需要在类

中定义$ _bar的类型
  class foo()
  {
        /**
         * @var Bar
         */
        private $_bar;

        public function __construct($bar)
        {
             $this->_bar = $bar;
        }

        public function doStuff()
        {
             include('doStuffCode.php');
        }
   }

然后在你提供的文件中提示:

/* @var $this foo */

这将是正确的方法。虽然我不确定私有变量是否可以通过这种方式暗示,因为包含文件内容的范围。