为什么此代码在我调用多个函数的所有函数中引发语法错误->函数

为什么这段代码抛出


语法错误,意外'->' ( T_OBJECT_OPERATOR ),期待 ',' 或 ';'


php 7.1


<?php

class TestHtml

{

    public function Send() { return $this; }

    public function Dispose() { return $this; }

    public function ToString() { return 'Done'; }

}

echo new TestHtml->Send()->Dispose()->ToString(); // there error 

?>


慕后森
浏览 69回答 1
1回答

不负相思意

PHP 无法理解这一点。它无法弄清楚第一部分是对构造函数的调用。使用括号。<?phpclass TestHtml{&nbsp; &nbsp; public function Send() { return $this; }&nbsp; &nbsp; public function Dispose() { return $this; }&nbsp; &nbsp; public function ToString() { return 'Done'; }}echo (new TestHtml)->Send()->Dispose()->ToString(); // there error&nbsp;或者,您可以先创建对象,然后调用其他函数。$object = new TestHtml;echo $object->Send()->Dispose()->ToString();只是为了好玩,您可以创建一个静态函数来创建类。<?phpclass TestHtml{&nbsp; &nbsp; public function Send() { return $this; }&nbsp; &nbsp; public function Dispose() { return $this; }&nbsp; &nbsp; public function ToString() { return 'Done'; }&nbsp; &nbsp; public static function make() { return new self; }}echo TestHtml::make()->Send()->Dispose()->ToString();
打开App,查看更多内容
随时随地看视频慕课网APP