如何让未声明的php变量高亮显示


How do I get undeclared php variable highlighting in idea?

给定一个php类:

<?php
/**
 * A class description.
 *
 * @property int id
 * @property string name
 *
 */
class myClass {
  public function hasId() {
    if ($this->id) { 
      return true;
    } else {
      return false;
    }
  }
}
?>

我想强调的是$this->id从来没有被声明过。我知道在PHP中这不是严格要求的,但我们的内部标准要求它。是否有办法在Intellij/Idea中实现这一点?

如果你删除你的文档@property int id。一旦你删除它,你就会收到警告。IntelliJ使用这些文档作为类的附加信息。你基本上是在告诉IntellJ这个类确实有那些属性。

没有办法告诉IntelliJ忽略这些注释

//Main class 
class Main{
//Let main class has variable $id
public $id = '123';
}
class myClass extends Main{
  public function hasId() {
    //Check it!
    if (isset($this->id)) { 
      return true;
    } else {
      return false;
    }
  }
}
$newclass = new myClass;
var_dump($newclass->hasId());
结果:

bool(true)

如果我们用变量声明注释行//public $id = '123';

结果:

bool(false)