我对整个GCP平台都很陌生,我试图创建我的第一个网络应用程序,特别是在PHP中。 我已经完成了每个主题,教程等等,但它们对我来说太过分了。
有人可以告诉我使用APP引擎中的PHP查询云数据存储区中的数据的最基本步骤是什么?
这是我的设置: 在我的数据存储区中,有一个条目,它基本上有两个名为name和address的属性,一个APP Engine上的PHP文件,它只会查询数据存储区。
我已为我的应用启用了数据存储区API访问权限。我也部署了它。 但我无法让它发挥作用。
这是我的view.php文件:
<?php
use Google\Cloud\Datastore\DatastoreClient;
# Your Google Cloud Platform project ID
$projectId = '<my project id>';
# Instantiates a client
$datastore = new DatastoreClient(['projectId' => $projectId]);
$query = $datastore->query()
->kind('person');
$result = $datastore->runQuery($query);
foreach ($result as $entity) {
echo 'Entity found: ' . $entity['name'] . PHP_EOL;
}
?>
注意:我使用这3个文件部署了我的应用程序:
app.yaml内容:
runtime: php55
api_version: 1
handlers:
- url: /
script: index.php
- url: /index\.html
script: index.php
- url: /view
script: view.php
- url: /view\.html
script: view.php
- url: /.*
script: not_found.php
答案 0 :(得分:0)
如果您正在寻找一个非常容易使用的库来从PHP访问数据存储,我会推荐Tom Walder的PHP-GDS https://github.com/tomwalder/php-gds他已经做了很好的工作,使数据存储容易用于PHP,没有它可以有时候是个噩梦。他在他的项目中使用它时不断更新库,我也成功地在我的一些项目中使用它。
该库还有一堆示例,向您展示如何完成您将需要的所有内容。它就像手动或通过编辑器包含库,以及定义数据结构等一样简单。
我还创建了关于如何在我的网站https://buziit.com.au/google-datastore-a-saas-experience/上使用php-gds的教程/讨论,但请注意这有点过时,因为它是在数据存储正式支持PHP之前编写的。主要区别在于定义网关,但Tom的文档是最新的(您需要更改1行)。
你最有可能最好使用由之前感觉到你痛苦的人开发的库,因为Datastore可能很难适应PHP(至少在PHP没有正式支持时)。我现在无法逃离图书馆:)
答案 1 :(得分:0)
您还没有在view.php脚本中包含任何文件。 PHP / GAE需要知道在哪里找到
Google\Cloud\Datastore\DatastoreClient;
一种方法是安装composer并允许composer管理您的所有包含/要求。另一种选择是手动包含您需要使用的所有内容。但是对于Google来说,有许多组件,因此使用composer会更容易。安装composer,需要Google PHP SDK包,然后您需要做的就是在PHP文件的开头包含vendor / autoload.php。