PHP方法链接的好处?

Jef*_*eff 4 php oop method-chaining

仍然在PHP-OOP训练轮上,这个问题可能属于failblog.org.=)

PHP中方法链的好处是什么?

我不确定这是否重要,但我将静态地调用我的方法.例如

$foo = Bar::get('sysop')->set('admin')->render();
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,任何返回的方法$this都允许链接.我刚学会了这是PHP5中的新功能.在我看来,如果我不必实例化一个全新的对象(静态调用它)并且只需从类中选择我需要的几个方法,那么可能会有速度优势?

我有这个权利吗?

Vic*_*let 6

使用这两种方法都没有显着的性能优势,尤其是在具有字节码缓存的生产服务器上.

方法链只是写东西的一种较短的方式.与较长版本比较:

$foo = Bar::get('sysop');
$foo -> set('admin');
$foo -> render();
Run Code Online (Sandbox Code Playgroud)

但确实存在一些问题:典型的IDE(例如Eclipse)可以在较长的版本中自动完成代码(只要$foo知道类型),但需要您记录所有方法的返回类型.短版.