Board logo

标题: 受 Cloudant 和 Bluemix 支持的动态 Google Gauge(5) [打印本页]

作者: look_w    时间: 2018-11-2 16:44     标题: 受 Cloudant 和 Bluemix 支持的动态 Google Gauge(5)

第 5 步. 查看 PHP 代码现在您已经有了一个能正常工作的示例,我们来看一看连接到 Cloudant 数据库,并检索 Google Gauge 的数据的 PHP 代码:
在 index.php 文件中,可以同时看到 PHP 和 HTML 标记。PHP 标记内的操作在服务器上运行。
index.php 文件中的第一行代码的用途是获取  。SAG 主库位于项目的        sag-master 目录中。
1
require('sag-master/src/Sag.php');




在能够访问 SAG 库之后,就可以使用 index.php 文件中的代码连接到数据库并检索数据。
如下所示,下一部分 PHP 代码将读取 VCAP_SERVICES 环境变量,并提取用户 ID        和密码。此变量仅位于服务器上;因此可以使用它存储您代码中需要的敏感数据。请记住,访问您的 DevOps Services 项目的任何人都可以看到您的代码。
1
2
3
4
5
6
7
8
// vcap_services Extraction
   $services_json = json_decode(getenv('VCAP_SERVICES'),true);
   $VcapSvs = $services_json["user-provided"][0]["credentials"];
// Extract the VCAP_SERVICES variables for Cloudant connection.
    $myUsername = $VcapSvs["username"];
    $myPassword = $VcapSvs["password"];
// Create the URL for the SAG PHP utility.
$myUrl = ($myUsername . ".cloudant.com");




以下代码将与 Cloudant 建立连接:
1
2
$sag = new Sag($myUrl);
$sag->login($myUsername, $myPassword);




接下来,让该连接指向 gauge 数据库。
1
$sag->setDatabase('gauge');




下一步是从 Gauge-Data 文档请求数据,该文档被存储在 gauge 数据库中。结果被存储在 $resp 对象中。稍后在 JavaScript        中会用到该值。
1
$resp = $sag->get('Gauge-Data')->body->GaugeValue;




最后一步是使用从数据库返回的数据来填充 Google Gauge 的值(量表中的刻度盘)。
备注:以下 JavaScript 在浏览器中的客户端上运行。清单中的 PHP 代码在服务器端运行,echo 语句的结果嵌入在        HTML 中,然后再发送给客户端。如果查看客户端上的 HTML 源代码,则不会看到任何 PHP 代码,只会看到从数据库返回的值。
1
2
3
4
var gaugeData = google.visualization.arrayToDataTable([
    ['Label', 'Value'],
    ['Value', <?php echo $resp; ?>]
]);






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0