sters / cakephp3-aws-s3-datasource
CakePHP3中的AWS S3数据源
0.0.3
2018-05-12 06:19 UTC
Requires
- aws/aws-sdk-php: ~3.18
Requires (Dev)
- cakephp/cakephp: ~3.2
- cakephp/cakephp-codesniffer: dev-master
- mockery/mockery: dev-master
- phpunit/phpunit: ~5.6
This package is auto-updated.
Last update: 2024-09-27 15:48:38 UTC
README
此CakePHP 3.0插件提供AWS S3数据源。
安装
使用composer安装插件。
$ composer require "sters/cakephp3-aws-s3-datasource:dev-master"
在您的config/bootstrap.php
中添加Plugin::load()
。
Plugin::load('CakeS3');
在您的config/app.php
中添加S3数据源。
一个数据源对应一个S3桶的连接。 您不能跨桶处理。
'Datasource' => [
'my_s3_connection' => [
'className' => 'CakeS3\Datasource\Connection',
'key' => 'put your s3 access key',
'secret' => 'put your s3 access secret',
'bucketName' => 'put your bucket name',
'region' => 'put your region',
],
],
使用s3连接设置新表。
$_connectionName
是您在config/app.php
数据源中写入的连接名称。
<?php
namespace App\Model\Table;
use CakeS3\Datasource\AwsS3Table;
class MyS3Table extends AwsS3Table
{
protected static $_connectionName = 'my_s3_connection';
}
例如,声明获取和显示S3对象的动作。
class TopController extends Controller
{
public function index()
{
$MyS3Table = TableRegistry::get('MyS3');
$content = $MyS3Table->getObjectBody('/path/to/object/file.jpg');
$this->response->type('image/jpeg');
$this->response->body($content);
return $this->response;
}
}
文档
AwsS3Table支持的方法
这些方法可以在您的S3表中调用。
如果您想了解更多详细信息,请参阅S3Client文档。 http://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.S3.S3Client.html