codeigniter方法结构,有人能解释一下吗?

codeigniter方法结构,有人能解释一下吗?,codeigniter,Codeigniter,我真的很好奇codeigniter是如何做到这一点的: $this->upload->do\u upload($field\u name) 它看起来像方法链接,但事实并非如此。在普通的面向对象编程中,这种结构看起来如何 我想它没有……那么简单吧 public function upload() { // stuff return $this; } public function do_upload() { // stuff return $foo; } 干杯

我真的很好奇codeigniter是如何做到这一点的:

$this->upload->do\u upload($field\u name)

它看起来像方法链接,但事实并非如此。在普通的面向对象编程中,这种结构看起来如何

我想它没有……那么简单吧

public function upload()
{
    // stuff
    return $this;
}

public function do_upload()
{
    // stuff
    return $foo;
}

干杯

在控制器中加载库时,它实际上是在幕后执行类似的操作

include 'system/libraries/Upload.php';
$this->upload = new CI_Upload();
现在您有了“$this->upload”可供使用

接下来,当您调用“$this->upload->do_upload()”时,实际上是在调用库中的一个方法

另一方面,方法链接只是使方法返回同一对象的实例的问题,您可以在GitHub上的CodeIgniter 3的库代码中查看这一点。
大多数库现在使用方法链接的地方。

只要读一下,你就会有一些想法