在调试器的PhpStorm视图中,属性名称中的星号是什么意思?

时间:2017-09-10 19:05:00

标签: debugging phpstorm phpstorm-2017.2

我的代码存在问题,当我将最后的工作版本与当前版本进行比较时,我发现PhpStorm的调试输出中存在差异:

工作版

object = {MyNamespace\DataObject\ProtocolSetForProtocolServer} [3]
 *MyNamespace\DataObject\ProtocolSet*id = null
 *MyNamespace\DataObject\ProtocolSet*endpoint = null
 *MyNamespace\DataObject\ProtocolSet*protocols = {Doctrine\Common\Collections\ArrayCollection} [1]

无效版

object = {MyNamespace\DataObject\ProtocolSetForProtocolServer} [3]
 id = null
 endpoint = null
 protocols = {Doctrine\Common\Collections\ArrayCollection} [1]

PhpStorm的调试输出中*MyType*myPropertymyProperty之间有什么区别?

1 个答案:

答案 0 :(得分:2)

刚刚带着同样的问题来到这里,发现了你的......

经过一番调查后,我认为这些标志着一个班级实例的私有财产。

使用Symfony中的修改类作为示例:

namespace Symfony\Component\EventDispatcher;

class EventDispatcher implements EventDispatcherInterface
{
    private $listeners = array();
    private $sorted = array();
    public $foo = array();
    protected $bar = array();
}

调试并查看$this的属性时,它包含以下内容:

*Symfony\Component\EventDispatcher\EventDispatcher*sorted
*Symfony\Component\EventDispatcher\EventDispatcher*listeners
foo
bar