ivan1911/aws-sdk-php-laravel

这是一个简单的Laravel 5服务提供者,用于包含固定AWS库版本的PHP AWS SDK。

此包的官方仓库似乎已不存在,因此该包已被冻结。

3.1.1 2017-06-01 11:38 UTC

README

@awsforphp on Twitter Build Status Latest Stable Version Total Downloads ![Gitter](https://badges.gitter.im/Join Chat.svg)

这是一个简单的Laravel服务提供者,使您能够轻松地将官方AWS SDK for PHP集成到您的Laravel和Lumen应用中。

此README针对服务提供者的3.x版本,该版本是为与Laravel 5.1和AWS SDK for PHP的3.0版本一起使用而实现的。

主要版本

  • 3.x (您当前所在) - 针对 laravel/framework:~5.1aws/aws-sdk-php:~3.0
  • 2.x (2.0分支) - 针对 laravel/framework:5.0.*aws/aws-sdk-php:~2.4
  • 1.x (1.0分支) - 针对 laravel/framework:4.*aws/aws-sdk-php:~2.4

安装

您可以通过在项目的 composer.json 中要求 aws/aws-sdk-php-laravel 包来使用 Composer 安装AWS服务提供者。

{
    "require": {
        "aws/aws-sdk-php-laravel": "~3.0"
    }
}

然后运行composer update

php composer.phar update

要使用AWS服务提供者,您必须在启动应用程序时注册该提供者。

Lumen

在Lumen中,在您的 bootstrap/app.php 中找到 Register Service Providers 并注册AWS服务提供者。

    $app->register(Aws\Laravel\AwsServiceProvider::class);

Laravel

在Laravel中,在您的 config/app.php 中找到 providers 键并注册AWS服务提供者。

    'providers' => array(
        // ...
        Aws\Laravel\AwsServiceProvider::class,
    )

在您的 config/app.php 中找到 aliases 键并添加AWS门面别名。

    'aliases' => array(
        // ...
        'AWS' => Aws\Laravel\AwsFacade::class,
    )

配置

默认情况下,该包使用以下环境变量来自动配置插件而无需修改

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION (default = us-east-1)

要自定义配置文件,请使用Artisan发布包配置。

php artisan vendor:publish

在生成的 app/config/aws.php 配置文件中更新您的设置。

return [
    'credentials' => [
        'key'    => 'YOUR_AWS_ACCESS_KEY_ID',
        'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
    ],
    'region' => 'us-west-2',
    'version' => 'latest',
    
    // You can override settings for specific services
    'Ses' => [
        'region' => 'us-east-1',
    ],
];

参考Laravel 5.2.0 升级指南,如果您使用php artisan config:cache,则必须使用配置文件选项而不是环境变量选项。

在SDK的用户指南中了解更多关于配置SDK的信息。

用法

为了在您的应用程序中使用AWS SDK for PHP,您需要从Laravel IoC Container中获取它。以下示例使用Amazon S3客户端上传文件。

$s3 = App::make('aws')->createClient('s3');
$s3->putObject(array(
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',
));

如果AWS外观在应用程序配置的aliases部分注册,您还可以使用以下技术。

$s3 = AWS::createClient('s3');
$s3->putObject(array(
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',
));

链接