1

我有 php 类(简单示例):

<?php class test{
    public function __construct() {
        //some code
    }

    public function __destruct() {
        //some code
    }

    public function echo1 {
        //some code
        return 1;
    }

    public function echo2 {
        //some code
        return 2;
    }
}

如何在一行中返回这两个函数 echo1 和 echo2 的结果,而不为每个函数创建两个新对象?

4

2 回答 2

1
$obj= new Test;
echo $obj->echo1().$obj->echo2();

此外,将类名大写,您需要在这些函数上加上括号:

class Test{
    public function __construct() {
        //some code
    }

    public function __destruct() {
        //some code
    }

    public function echo1() {
        //some code
        return "Hello";
    }

    public function echo2() {
        //some code
        return "World";
    }
}
$obj= new Test;
echo $obj->echo1()." ".$obj->echo2();
于 2013-10-28T09:51:56.650 回答
1

您可能需要稍微更改您的功能。

...

public function echo1() {
    //some code
    echo 1;
    return $this;
}

public function echo2() {
    //some code
    echo 2;
    return $this;
}

...

然后这样称呼它。

(new test())->echo1()->echo2();
于 2013-10-28T10:00:10.640 回答