ublaboo / aws-sdk-nette-extension
PHP的AWS SDK的Nette扩展 http://aws.amazon.com/sdkforphp/
v1.1.0
2023-01-31 15:04 UTC
Requires
- aws/aws-sdk-php: ~3.0
- nette/di: ^2.3|^2.4|^3.0
Requires (Dev)
- mockery/mockery: ~0.9
- nette/tester: ~1.6.1
This package is auto-updated.
Last update: 2024-09-20 06:34:44 UTC
README
aws-sdk-nette-extension
PHP的AWS SDK的Nette扩展 http://aws.amazon.com/sdkforphp/
安装
使用composer下载扩展
composer require ublaboo/aws-sdk-nette-extension
在您的config.neon文件中注册扩展
extensions:
aws: Ublaboo\AwsSdkNetteExtension\DI\AwsSdkNetteExtension
配置
在您的config.neon
文件中配置扩展
aws:
region: eu-west-1
version: latest
# settings for interacting with other then Amazon endpoints
endpoint: (optional - when ommited, Amazon AWS URL is used)
use_path_style_endpoint: true|false (optional - default=false)
并将您的密钥和密钥在config.local.neon
文件中(不应该进行版本控制)
aws:
credentials:
key: your_access_key
secret: your_secret_access_key
use_aws_shared_config_files: true|false (optional - default=true)
使用方法
理想情况下,创建一些服务,这些服务将S3客户端与您的逻辑包装在其中
class S3Service { /** * @var \Aws\S3\S3Client */ public $s3; public function __construct(\Aws\S3\S3Client $s3) { $this->s3 = $s3; } public function save($path_to_file) { $this->s3->putObject([ 'Bucket' => 'YourBucket', 'Key' => 'YourObjectKey', 'SourceFile' => $path_to_file, ]); } }
并在您的演示者中使用它们
class HomepagePresenter extends Presenter { /** * @var S3Service * @inject */ public $service; public function actionDefault() { $this->service->save('/path/to/file'); } }