horidaisuke / cakephp-aws-s3bucket
此软件包已被废弃,不再维护。没有建议替代包。
CakePHP 4.x 的 AWS S3Bucket 插件
v0.1.0
2020-09-15 06:04 UTC
Requires
- php: >=7.2
- aws/aws-sdk-php: ^3.133
- cakephp/cakephp: ^4.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ^4.0
- phpstan/phpstan: ^0.12.8
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2023-12-07 04:15:26 UTC
README
安装
您可以使用 composer 将此插件安装到您的 CakePHP 4.x 应用程序中。
安装 composer 包的推荐方法是
composer require horidaisuke/cakephp-aws-s3bucket
如何使用
1. 配置数据源
您可以在 app_xxx.php 中的数据源部分配置 S3 桶数据源,就像配置数据库一样。
例如
'Datasources' => [ // ... after database configurations 'name_of_s3_datasource' => [ 'className' => 'S3Bucket\Datasource\Connection', 'bucketName' => 'name_of_s3_bucket', 'acl' => 'public-read', // if object set to public access (default set to private) 'client' => [ 'region' => 'name_of_region', ], ], ],
2. 创建 S3Bucket 模型
您可以在命名空间 App\Model\S3Bucket 下为每个对象键前缀创建一个模型。
例如
<?php declare(strict_types=1); namespace App\Model\S3Bucket; use S3Bucket\Datasource\S3Bucket; class SampleOfS3BucketModel extends S3Bucket { protected static $_connectionName = 'name_of_s3_datasource'; protected static $_prefix = 'sample_of_object_key_prefix'; }
当提供了对象键前缀时,对象访问将在前缀范围内进行控制。
3. 从 S3BucketRegistry 获取模型
您可以从 S3BucketRegistry 获取创建的 S3 桶模型。
例如
$sampleOfS3BucketModel = S3BucketRegistry::init()->get('SampleOfS3BucketModel');
4. 上传、获取、删除等 S3Object
您可以通过 S3 桶模型进行一些操作(上传、获取、删除等)S3 对象。
例如
// putObject $sampleOfS3BucketModel->putObject(`object_key`, file_get_contents(`filename_for_put`)); // getObject $sampleOfS3BucketModel->getObject(`object_key`); // getObjectBody $sampleOfS3BucketModel->getObjectBody(`object_key`); // deleteObject $sampleOfS3BucketModel->deleteObject(`object_key`); // deleteObjects $sampleOfS3BucketModel->deleteObjects([`object_key1`, `object_key2`]); // doesObjectExist $sampleOfS3BucketModel->doesObjectExist(`object_key`); // moveObject $sampleOfS3BucketModel->moveObject(`object_key_from`, `object_key_to`); // copyObject $sampleOfS3BucketModel->copyObject(`object_key_from`, `object_key_to`); // headObject $sampleOfS3BucketModel->headObject(`object_key`);
许可证
本软件根据 MIT 许可证 许可。