给定一个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)