我真的很好奇codeigniter是如何实现这样的:
$这 - > upload-> do_upload($ FIELD_NAME)
它看起来像方法链接,但事实并非如此。如何在普通OOP中看到这种结构?
我想它不像......那么简单。
public function upload()
{
// stuff
return $this;
}
public function do_upload()
{
// stuff
return $foo;
}
干杯!
答案 0 :(得分:0)
当您在控制器中加载库时,它实际上是在场景后面做这样的事情。
include 'system/libraries/Upload.php';
$this->upload = new CI_Upload();
现在您已准备好使用“$ this-> upload”,
接下来当您调用“$ this-> upload-> do_upload()”时,您实际上正在调用库中的方法。
另一方面,方法链接只是让方法返回同一个对象的实例,你可以在GitHub上的CodeIgniter 3中的库代码中查看它。 大多数图书馆现在使用方法链接。