在PHP中使用方法链是否会导致资源或内存出现问题?

Zer*_*rbu 2 php oop methods class object

我在说这样的方法:

    $object->method()->method1('param')->method2('param');
Run Code Online (Sandbox Code Playgroud)

这些是通过返回函数中的对象来创建的.

    return $this;
Run Code Online (Sandbox Code Playgroud)

我已经看到第三方软件使用该方法,但我想知道,这不会导致资源或内存有点问题因为你不断返回整个对象吗?

Mic*_*ski 10

您没有返回整个对象,而是返回对象的引用 - 也就是说,它只是它所在的内存位置.因此,当沿着链调用方法时,对象不会经常在内存中被复制.

默认情况下(主要是读取实际细节的链接),PHP中的对象通过引用传递,返回和分配.

请参阅有关参考的PHP文档.