关于方法的简单PHP类问题

我有一个关于
PHP类的简单问题.

多次我见过其他类框架等使用方法调用.

$post->data->text();

我喜欢这个功能,而不仅仅是做这样的事情.

$post->dataReturnAsText();

但我不太确定他们是如何创建这个功能的,或许有一个“子方法”?希望有人能指出我正确的方向……

最佳答案 您提供的示例没有什么特别之处:

<?php

class Post{
    public $data;
}

class Data{
    public function text(){
    }
}

$post = new Post;
$post->data = new Data;
$post->data->text();

但是,您可能已经在方法链接的上下文中找到它(在JavaScript库中非常流行):

<?php

class Foo{
    public function doThis(){
        return $this;
    }

    public function doThat(){
        return $this;
    }
}

$foo = new Foo;
$foo->doThis()->doThat()->doThis();
点赞