aut*_*tix 2 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]
Run Code Online (Sandbox Code Playgroud)
不工作版本
object = {MyNamespace\DataObject\ProtocolSetForProtocolServer} [3]
id = null
endpoint = null
protocols = {Doctrine\Common\Collections\ArrayCollection} [1]
Run Code Online (Sandbox Code Playgroud)
PhpStorm 的调试输出中*MyType*myProperty和刚刚有什么区别?myProperty
带着同样的问题来到这里,找到了你的问题......
经过一番调查,我相信这些标记了类实例的私有属性。
使用 Symfony 的修改类作为示例:
namespace Symfony\Component\EventDispatcher;
class EventDispatcher implements EventDispatcherInterface
{
private $listeners = array();
private $sorted = array();
public $foo = array();
protected $bar = array();
}
Run Code Online (Sandbox Code Playgroud)
调试并查看其属性时$this将包含以下内容:
*Symfony\Component\EventDispatcher\EventDispatcher*sorted
*Symfony\Component\EventDispatcher\EventDispatcher*listeners
foo
bar
Run Code Online (Sandbox Code Playgroud)