【发布时间】:2013-06-01 20:43:22
【问题描述】:
我正在尝试在 CakePHP 中为 Amazon Web Services 创建一个自定义数据源。我的做法如下:
- 基础
AwsDataSource创建签名、发出实际的 HTTP 请求等 - 扩展此类并指定要使用的端点的每个 AWS 产品(即 S3、SQS 等)的各种数据源
-
S3Bucket、SqsQueue、SqsMessage等的模型
我的基本数据源类如下所示(简化):
<?php
class AwsDataSource extends DataSource {
public $config = array(
'key' => '',
'secret' => '',
'region' => ''
);
public $endpoint;
public function signRequest($parameters) {
// generates signature
}
public function makeRequest($parameters = array(), $method = 'get') {
// generates signature and makes HTTP request to AWS servers
}
}
示例模型如下所示:
<?php
class SqsQueue extends AwsAppModel {
public $name = 'SqsQueue';
public $useTable = false;
}
我的问题是试图在我的 CakePHP 应用程序中使用这些模型/数据源。
我已经按照 the CakePHP cookbook 在我的 AWS 数据源中实现了名为 create()、read()、update() 和 delete() 的方法,但它们似乎没有被调用。我知道这一点是因为我已将 die() 语句与消息一起放入我的数据源中,并且执行永远不会停止。
我已经用完了这本食谱,所以如果有人能告诉我如何让我的模型在我的数据源类中调用 CRUD 方法,我将不胜感激。
【问题讨论】:
标签: cakephp model datasource