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

标签 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);

此处 foo 是在请求​​中设置的。如何?如果 $request->getQuery() 会返回一个指针,我可以理解,但这不是这里真正发生的事情,不是吗。

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

最佳答案

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

$query 对象正在实现 ArrayAccess所以 $query['foo'] = 'bar'; 等同于 $query->setFoo('bar');

关于php - PHP 中的指针,但不是真正的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079699/

相关文章:

php - 静态变量的默认值

php - CakePHP 重定向方法不起作用?

javascript - PHP - 像数组一样解析对象的属性

php - 一次向2个表中插入数据

PHP PDO : Do the fetch styles FETCH_CLASS and FETCH_INTO fetch into private object properties?

php - 如何在 PHP PDO 中创建函数插入

PHP 中的 Java HashSet 等价物

php - MySQL 在线游戏性能高分榜

php - 将MySql表数据导出为CSV(先修改字段)

php - MYSQL 查询计数 + 当月的不同值