我见过这样做的其他对象:
$obj->method1()->method2();
我怎么做?每个函数只是修改一个对象的指针还是返回一个指针?
我不知道这种风格的正确术语——如果有人能帮助我,那就太好了。
我见过这样做的其他对象:
$obj->method1()->method2();
我怎么做?每个函数只是修改一个对象的指针还是返回一个指针?
我不知道这种风格的正确术语——如果有人能帮助我,那就太好了。
这是通过$this
在每个函数的末尾返回来实现的,从而给出一个可链接的引用。
class MyClass {
public function method1() {
//...
return $this;
}
public function method2() {
//...
return $this;
}
}
流畅的界面。
只需将对象的 method1() 设置为返回 $this
我将此称为方法链接。见http://www.devshed.com/c/a/PHP/Method-Chaining-in-PHP-5/1/
也在你的方法里面
public function method1()
// do stuff
return $this;
}
假设您有一个 Person 类。你会让你的方法做这样的事情:
public function setName($name)
{
$this->name = $name;
return $this; // We now return $this (the Person)
}
下载 Zend Framework 并检查代码的某些部分——您可以从那里学到很多东西。