PHP OOP:可链接对象?
我试图找到关于 PHP 中可链接 OOP 对象的很好的介绍,但还没有任何好的结果。
这样的事怎么办呢?
$this->className->add('1','value');
$this->className->type('string');
$this->classname->doStuff();
甚至: $this->className->add('1','value')->type('string')->doStuff();
非常感谢!
I have tried to find a good introduction on chainable OOP objects in PHP, but without any good result yet.
How can something like this be done?
$this->className->add('1','value');
$this->className->type('string');
$this->classname->doStuff();
Or even: $this->className->add('1','value')->type('string')->doStuff();
Thanks a lot!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
关键是在每个方法中返回对象本身:
每个返回对象本身的方法都可以用作方法链中的中间体。有关更多详细信息,请参阅维基百科关于方法链的文章。
The key is to return the object itself within each method:
Every method, that returns the object itself, can be used as an intermediate in a method chain. See Wikipedia’s article on Method chaining for some further details.
只需在 add() 和 type() 方法中返回 $this 即可:
just return $this in the add() and type() methods:
另一个术语是Fluent Interface
Another term for this is the Fluent Interface