PHP中的指针,但不是真正的指针

Dex*_*exa 2 php

我不知道如何提出这个问题,但我找到了一些我无法用Laravel的guzzle/guzzle包装抓住的东西.让我展示代码,然后我会问我的问题

$client = new \GuzzleHttp\Client();
$request = $client->createRequest('GET', 'http://foo.com');

$query = $request->getQuery();
$query['foo'] = 'bar';

$response = $client->send($request);
Run Code Online (Sandbox Code Playgroud)

这里foo是在请求中设置的.怎么样?我能理解它是否$request->getQuery()会返回一个指针,但这不是真正发生在这里的不是它.

我希望有一些方法可以将$query对象放回去$request.

小智 6

对象在PHP中通过引用传递.

$ query对象正在实现ArrayAccess,因此 $query['foo'] = 'bar';与执行相同$query->setFoo('bar');