类中的PHP方法与另一个方法?
我只需要解释一下,或者向正确的方向推一推如何搜索这个:一些类方法的子方法是什么 我见过这样的电话:类中的PHP方法与另一个方法?,php,class,oop,Php,Class,Oop,我只需要解释一下,或者向正确的方向推一推如何搜索这个:一些类方法的子方法是什么 我见过这样的电话: $data = Log::Bank($var1, $var2)->start(); $data = Log::Bank($var1, $var2)->refund(); 或者 $xml = getData($uri)->toArray(); 什么是start(),return()和toArray()选项?这些方法返回的对象上有其他方法,也有调用的方法。因此getData将返回
$data = Log::Bank($var1, $var2)->start();
$data = Log::Bank($var1, $var2)->refund();
或者
$xml = getData($uri)->toArray();
什么是
start()
,return()
和toArray()
选项?这些方法返回的对象上有其他方法,也有调用的方法。因此getData将返回一些具有toArray()方法的对象
您还可以返回对象本身并使用方法链接,即
class MailBuilder {
private $subject;
private$ $body;
public function setSubject($body) {
$this->body = $body;
return $this;
}
public function setBody($body) {
$this->subject = $subject;
return $this;
}
}
然后你可以做一些类似的事情:
$builder = new MailBuilder();
$builder->setSubject('something')->setBody('something');
因此,您可以这样做,因为这些方法将返回对象本身,尽管您可以将调用链接到下一个方法
记住这样的代码(调用嵌套太深的对象)是不好的(称为火车失事):
这些方法返回的对象上有其他方法,也有被调用的方法。因此getData将返回一些具有toArray()方法的对象 您还可以返回对象本身并使用方法链接,即
class MailBuilder {
private $subject;
private$ $body;
public function setSubject($body) {
$this->body = $body;
return $this;
}
public function setBody($body) {
$this->subject = $subject;
return $this;
}
}
然后你可以做一些类似的事情:
$builder = new MailBuilder();
$builder->setSubject('something')->setBody('something');
因此,您可以这样做,因为这些方法将返回对象本身,尽管您可以将调用链接到下一个方法
记住这样的代码(调用嵌套太深的对象)是不好的(称为火车失事):
这些不是子方法,而是方法链接。在本例中,
Log::Bank($var1,$var2)
将返回一个对象。从该方法返回的对象上有一个可以使用的start()
方法。因此,当您在末尾添加->start()
时,您将在返回的对象上运行它。这些不是子方法,而是方法链接。在本例中,Log::Bank($var1,$var2)
将返回一个对象。从该方法返回的对象上有一个可以使用的start()
方法。因此,当您添加->start()时
最后,您将在返回的对象上运行它。您是否有任何指向教程的链接,我可以在其中阅读并理解它们是如何工作的以及它们是如何创建的?我建议这样做是为了更好地掌握php中的oo,文档对此非常有用-如果格式不适合您,您可以查看其他一些教程,只需搜索php oo教程。。。顺便说一句,$对象(类)上下文中的this将返回该对象的实例(在我的示例中是MailBuilder)你有没有任何教程的链接,我可以在这里阅读和理解它们是如何工作的,以及它们是如何创建的?我建议你这样做是为了更好地掌握php中的oo,文档对此非常有用-如果格式不适合你,你可以查看其他一些教程,只需搜索php oo教程。。。顺便说一句,$对象(类)上下文中的this将返回该对象的实例(在我的示例中是MailBuilder)