我想使用我的 RPC 和 PHP 库将我的 RPC 钱包服务器与我的 WEB 服务器连接起来。
这是我用来连接服务器的库。
[莱特币PHP图书馆][1] [1]:
这是我的索引.php它将生成新地址以存入莱特币硬币:)
$litecoind = new LitecoinClient([
'scheme' => 'http', // optional, default http
'host' => '1HIDDEN.HIDDEN.HIDDEN.0', // optional, default localhost
'port' => PRIVATE, // optional, default 9332
'user' => 'HIDDEN', // required
'pass' => 'HIDDEN', // required
]);
$alo=$litecoind->getnewaddress();
?>
<pre>
<?php
print_r($alo);
?>
</pre>
因此,当我得到响应时,我会得到一些非常困难的数组来为我读取,从他那里我只需要这个块中的变量作为 [响应]
[container:protected] => Array
(
[result] => MUZiKwDneYD7a6G8Sx3TQjVZqfC3JkDobu
[error] =>
[id] => 0
)
以下是打印为漂亮打印的服务器的完整响应:
MajesticLitecoinLitecoindResponse Object
(
[response:protected] => GuzzleHttpPsr7Response Object
(
[reasonPhrase:GuzzleHttpPsr7Response:private] => OK
[statusCode:GuzzleHttpPsr7Response:private] => 200
[headers:GuzzleHttpPsr7Response:private] => Array
(
[Content-Type] => Array
(
[0] => application/json
)
[Date] => Array
(
[0] => Mon, 08 Jun 2020 17:09:32 GMT
)
[Content-Length] => Array
(
[0] => 68
)
)
[headerNames:GuzzleHttpPsr7Response:private] => Array
(
[content-type] => Content-Type
[date] => Date
[content-length] => Content-Length
)
[protocol:GuzzleHttpPsr7Response:private] => 1.1
[stream:GuzzleHttpPsr7Response:private] => GuzzleHttpPsr7Stream Object
(
[stream:GuzzleHttpPsr7Stream:private] => Resource id #44
[size:GuzzleHttpPsr7Stream:private] =>
[seekable:GuzzleHttpPsr7Stream:private] => 1
[readable:GuzzleHttpPsr7Stream:private] => 1
[writable:GuzzleHttpPsr7Stream:private] => 1
[uri:GuzzleHttpPsr7Stream:private] => php://temp
[customMetadata:GuzzleHttpPsr7Stream:private] => Array
(
)
)
)
[container:protected] => Array
(
[result] => MNTRoGELAMYRLm395Yj2sWYTPrnGi6URwz
[error] =>
[id] => 0
)
[current:protected] =>
)
对于不了解 json 响应的人来说,这很难理解如何仅获取 [响应] 并将其保存到 sql,当然我知道如何保存到 mysql,但如何只获取响应变量对我来说很难,所以我想问任何知道在这里做什么的人来帮助我,甚至指出我一些简单的解决方案。
非常感谢您阅读我的代码。 感谢您未来的回复和帮助!
您的堆栈朋友:)
编辑: 如果这不是 json 响应,任何人都可以告诉我这个响应是什么以及如何获得我需要的结果(钱包(变量。当我想回显我的$alo变量时,我收到错误,对象无法转换为字符串...什么
这里最大的问题是container
是"受保护"的属性。这意味着它不能在类(或从它继承的类(之外访问 - 这在PHP文档中有描述:https://www.php.net/manual/en/language.oop5.visibility.php。
但是,尽管库的文档忽略了它,但根据类的源代码,应该可以调用result()
函数来返回容器对象的"result"部分。
例如
echo $alo->result();
作为参考,result()
函数在LitecoindResponse
类的源代码中如下所示:
/**
* Gets result array.
*
* @return array|null
*/
public function result()
{
if ($this->hasResult()) {
return $this->container['result'];
}
}
你可以像这样访问它
$myval = $alo["container"];
foreach($myval as $myvals){
var_dump($myvals);
}