Недавно я увидел несколько примеров кода PHP, которые выглядели следующим образом:
$myObj->propertyOne = 'Foo' ->propertyTwo = 'Bar' ->MethodA('blah'); 
В отличие от:
 $myObj->propertyOne = 'Foo'; $myObj->propertyTwo = 'Bar'; $myObj->MethodA('blah'); 
Это из определенной структуры или конкретной версии PHP, потому что я никогда не видел, чтобы она работала?
  То, что вы видели, было fluent interface , однако ваш образец кода ошибочен.  Чтобы сделать длинную историю коротким, fluent setter должен вернуть $this : 
 class TestClass { private $something; private $somethingElse; public function setSomething($sth) { $this->something = $sth; return $this; } public function setSomethingElse($sth) { $this->somethingElse = $sth; return $this; } } 
Применение:
 $sth = new TestClass(); $sth->setSomething(1) ->setSomethingElse(2); 
Я не могу поверить, что это действительно сработает, как вы показали его с полуколонами после каждой строки, или для назначения свойств напрямую; вы, возможно, видели что-то вроде
 $myObj->setPropertyOne('Foo') ->setPropertyTwo('Bar') ->MethodA('blah'); 
  который обычно называют fluent interface или method chaining , где каждый из методов возвращает экземпляр текущего объекта через return $this 
Я взглянул на метод Chaining, о котором я никогда не слышал в PHP раньше. Очевидно, что мой пример – вздор.
Этот пост имеет смысл для меня:
PHP-метод цепочки?