如何在 Ratchet WebSockets 中访问 Guzzle QueryString 参数?
How to access Guzzle QueryString parameters in Ratchet WebSockets?
您好,我正在使用 radchet websocket。我在从对象变量获取数据时遇到了问题。
请检查我的代码:
var conn = new WebSocket('ws://localhost:8080?user_id=10&receiver_id=20');
$querystring = $conn->WebSocket->request->getQuery();
print_r($querystring);
输出:
Guzzle\Http\QueryString Object
(
[fieldSeparator:protected] => &
[valueSeparator:protected] => =
[urlEncode:protected] => RFC 3986
[aggregator:protected] =>
[data:protected] => Array
(
[user_id] => 10
[receiver_id] => 20
)
)
上面的代码我想要 user_id
和 receiver_id
但我无法得到。
我的代码:
echo $querystring->data:protected['user_id'];
echo $querystring->data:protected['receiver_id'];
我已回应但收到错误消息。请帮助我。
编辑:
如果我将对象转换为数组,它不会显示正确的格式。见下文。
$array = (array) $querystring;
print_r($array);
输出:
Array
(
[ * fieldSeparator] => &
[ * valueSeparator] => =
[ * urlEncode] => RFC 3986
[ * aggregator] =>
[ * data] => Array
(
[user_id] => 10
[receiver_id] => 20
)
)
Guzzle\Http\QueryString extends Guzzle\Common\Collection 所以你应该可以使用 Collection 的方法:
$user_id = $querystring->get('user_id');
$receiver_id = $querystring->get('receiver_id');
或
$parameters = $querystring->toArray();
$user_id = $parameters['user_id'];
$receiver_id = $parameters['receiver_id'];
您好,我正在使用 radchet websocket。我在从对象变量获取数据时遇到了问题。
请检查我的代码:
var conn = new WebSocket('ws://localhost:8080?user_id=10&receiver_id=20');
$querystring = $conn->WebSocket->request->getQuery();
print_r($querystring);
输出:
Guzzle\Http\QueryString Object
(
[fieldSeparator:protected] => &
[valueSeparator:protected] => =
[urlEncode:protected] => RFC 3986
[aggregator:protected] =>
[data:protected] => Array
(
[user_id] => 10
[receiver_id] => 20
)
)
上面的代码我想要 user_id
和 receiver_id
但我无法得到。
我的代码:
echo $querystring->data:protected['user_id'];
echo $querystring->data:protected['receiver_id'];
我已回应但收到错误消息。请帮助我。
编辑:
如果我将对象转换为数组,它不会显示正确的格式。见下文。
$array = (array) $querystring;
print_r($array);
输出:
Array
(
[ * fieldSeparator] => &
[ * valueSeparator] => =
[ * urlEncode] => RFC 3986
[ * aggregator] =>
[ * data] => Array
(
[user_id] => 10
[receiver_id] => 20
)
)
Guzzle\Http\QueryString extends Guzzle\Common\Collection 所以你应该可以使用 Collection 的方法:
$user_id = $querystring->get('user_id');
$receiver_id = $querystring->get('receiver_id');
或
$parameters = $querystring->toArray();
$user_id = $parameters['user_id'];
$receiver_id = $parameters['receiver_id'];