ublaboo/aws-sdk-nette-extension

PHP的AWS SDK的Nette扩展 http://aws.amazon.com/sdkforphp/

v1.1.0 2023-01-31 15:04 UTC

This package is auto-updated.

Last update: 2024-09-20 06:34:44 UTC


README

Latest Stable Version License Total Downloads Gitter

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');
	}

}