方法根据上下文返回不同类型的 var



比几个字好,我想做的是:

  1. 返回字符串

    $obj->method();
    
  2. 在这种情况下,我希望method()返回一个对象

    $obj->method()->method2();
    

这可能吗?如果可能的话,有人可以帮助我吗?

No.method() 方法无法知道它是用作字符串还是对象。您唯一能做的有点接近您期望的事情就是让它使用 __toString() 方法返回一个对象:

<?php
class YourObject {
    public function method2() {
        // ...
    }
    public function __toString() {
        return 'some string';
    }
}
?>

$obj->method()返回此类的实例。你可以像字符串(echo $obj->method();)和对象($obj->method->method2();)一样使用它。

将一个简单的布尔值传递给方法,告诉它要返回什么。

最新更新