为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕后森 2022-10-28 14:53:39
为什么这段代码抛出语法错误,意外'->' ( T_OBJECT_OPERATOR ),期待 ',' 或 ';'php 7.1<?phpclass TestHtml{    public function Send() { return $this; }    public function Dispose() { return $this; }    public function ToString() { return 'Done'; }}echo new TestHtml->Send()->Dispose()->ToString(); // there error ?>
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

PHP 无法理解这一点。它无法弄清楚第一部分是对构造函数的调用。使用括号。


<?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 

或者,您可以先创建对象,然后调用其他函数。


$object = new TestHtml;

echo $object->Send()->Dispose()->ToString();

只是为了好玩,您可以创建一个静态函数来创建类。


<?php

class TestHtml

{

    public function Send() { return $this; }

    public function Dispose() { return $this; }

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

    public static function make() { return new self; }

}

echo TestHtml::make()->Send()->Dispose()->ToString();


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信