不允许使用PHP语法

scr*_*r86 0 php

我想知道为什么下面的语法不适用于PHP.任何有洞察力的人也许没有任何意义或什么.

($this->getState($state))->getEvent('eventOpen')->attach($observeCallback);
Run Code Online (Sandbox Code Playgroud)

基本上该getState($state)方法返回一个对象,该对象本身具有getEvent($eventName)attach($observerCallbackToAttach).

但是,这会引发错误并且不起作用.

我是否打破了认为这是一种有效语法的规则?

Aro*_*olm 6

请注意,->attach($observeCallback)在运行结果->getEvent('eventOpen')-而不是结果$this->getState($state).

检查getEvent()方法返回的内容.为此需要它return $this;.

或者,澄清您的代码:

$tmp = $this->getState($state);
$tmp->getEvent('eventOpen');
$tmp->attach($observeCallback);
Run Code Online (Sandbox Code Playgroud)

或者,将attach()方法移动到返回的对象中使用的类getEvent()