[RIAK-PHP-CLIENT]:从Riak获取并显示本地主机上的JSON文本数据


[RIAK-PHP-CLIENT]: Fetch and display JSON text data on localhost from Riak

我已经通过使用官方的Basho riak-php-client成功地在我的riak数据库和localhost之间建立了连接:

https://github.com/basho/riak-php-client

在我的Riak数据库中,我有很多密钥与JSON数据一起存储。有没有简单有效的方法在本地主机上显示文本数据?到目前为止,我已经能够使用以下代码显示简单的其他值:

     <?php
                require_once('src/Basho/Riak/Riak.php');
                require_once('src/Basho/Riak/Bucket.php');
                require_once('src/Basho/Riak/Exception.php');
                require_once('src/Basho/Riak/Link.php');
                require_once('src/Basho/Riak/MapReduce.php');
                require_once('src/Basho/Riak/Object.php');
                require_once('src/Basho/Riak/StringIO.php');
                require_once('src/Basho/Riak/Utils.php');
                require_once('src/Basho/Riak/Link/Phase.php');
                require_once('src/Basho/Riak/MapReduce/Phase.php');
                        $client = new Basho'Riak'Riak('172.31.42.72', 10018);
                        $myBucket = $client->bucket('test');
                        $myBucket1 = $client->bucket('world');

                        $val1 = 1;
                        $obj1 = $myBucket-> newObject('one', $val1);
                        $obj1->store();
                        $val2 = 'two';
                        $obj2 = $myBucket->newObject('two', $val2);
                        $obj2->store();
                        $val3 = array('myValue' => 3);
                        $obj3 = $myBucket->newObject('three', $val3);
                        $obj3->store();
                        $fetched1 = $myBucket->get('one');
                        $fetched2 = $myBucket->get('two');
                        $fetched3 = $myBucket->get('three');
                        $fetched4 = $myBucket1->get('542660947589230592');

                        assert($val1 == $fetched1->getData());
                        assert($val2 == $fetched2->getData());
                        assert($val3 == $fetched3->getData());
                        $obj = json_decode(fetched4);
                        print $obj->{'<<"text">>'};

           ?>

在此代码中,我还尝试显示变量 $fetched 4 中的 JSON 数据,并从存储桶"world"查询,但是当我尝试使用以下两行代码显示它时:

 $obj = json_decode(fetched4);
 print $obj->{'<<"text">>'};

不显示任何内容。有什么想法吗?

编辑

以下是 apache2 错误日志,尽管我不确定它们是否完全是最新的:

[2014 年 12 月 10 日星期三 14:05:20.894220] [:错误] [pid 4610] [客户端 129.16.723.16:44285] PHP 注意:使用未定义的常量 fetched4 - 假设 'fetched4' 在/var/www/html/index.php 第 52 行

[14:05:20.894240 2014] [:错误] [PID 4610] [客户端 129.16.723.16:44285] PHP 通知:尝试获取非对象的属性 /var/www/html/index.php 在第 53 行[12 月 10 日星期三

试试...

 $obj = json_decode($fetched4);

除非在此处输入示例时是拼写错误,否则您将错过$fetched4 $

日志条目PHP Notice: Use of undefined constant fetched4 - assumed 'fetched4'指出这是一个真正的问题,而不仅仅是您在这里做的事情。