我不知道怎么问这个问题,但我在 Laravel 的 guzzle/guzzle 包中发现了一些我无法理解的东西。让我展示代码,然后我会问我的问题
$client = new \GuzzleHttp\Client();
$request = $client->createRequest('GET', 'http://foo.com');
$query = $request->getQuery();
$query['foo'] = 'bar';
$response = $client->send($request);
此处 foo
是在请求中设置的。如何?如果 $request->getQuery()
会返回一个指针,我可以理解,但这不是这里真正发生的事情,不是吗。
我希望有一些方法可以将 $query
对象放回 $request
中。
最佳答案
对象在 PHP 中通过引用传递。
$query 对象正在实现 ArrayAccess所以
$query['foo'] = 'bar';
等同于 $query->setFoo('bar');
关于php - PHP 中的指针,但不是真正的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079699/