带有Lumen的AWS开发工具包

时间:2015-12-17 22:45:36

标签: laravel amazon-web-services aws-sdk lumen

我尝试使用流明安装AWS Laravel SDK。 我可以安装它:

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

然而,文件说:

  

在config / app.php中找到提供者密钥并注册AWS服务提供商。

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

在config / app.php中找到别名密钥,并添加AWS外观别名。

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

事情是在Lumen,没有config / app.php

我该怎么办?

3 个答案:

答案 0 :(得分:4)

在bootstrap / app.php中,添加以下内容:

提供者:

  

$ APP->寄存器(AWS \ Laravel \ AwsServiceProvider ::类);

门面

  

class_alias( 'AWS \ Laravel \ AwsFacade', 'AWS');

  • 请注意,您必须取消注释$ app-> withFacades();为了工作立面。

答案 1 :(得分:0)

您可以复制默认的流明配置文件以覆盖它们。

  

配置文件

     

你可以使用完整的" Laravel风格"配置文件,如果你愿意。该   默认文件存储在vendor / laravel / lumen-framework / config中   目录。如果您使用Lumen将使用您的配置文件副本   将其中一个文件复制并粘贴到您的   项目根。

     

使用完整配置文件可以让您更好地控制某些文件   Lumen配置的各个方面,例如配置多个存储   "磁盘"或读/写数据库连接。

参考:http://lumen.laravel.com/docs/installation#configuration-files

答案 2 :(得分:0)

起初我有点困惑,所以我最终做的就是。

  1. 使用Composer安装AWS Laravel SDK(https://github.com/aws/aws-sdk-php-laravel)。
  2. 更新app.php以包含$app->register(Aws\Laravel\AwsServiceProvider::class);
  3. 将我的AWS凭据/区域值添加到我的.env文件
  4. 在我的一个帮助器类中创建一个方法,其定义如下:

    public static function getS3Instance() { return new \Aws\S3\S3Client([ 'version' => 'latest', 'region' => env('AWS_REGION'), 'credentials' => [ 'key' => env('AWS_KEY'), 'secret' => env('AWS_SECRET') ] ]); }

  5. 在一个模型中,我只需调用Util :: getS3Instance()并且繁荣我拥有开始使用S3所需的一切。可以轻松调整此函数以返回库中包含的任何AWS客户端的实例。

    这一切都发生在Lumen 5.6项目中,但我认为同样的方法也适用于旧版本的Lumen。我希望这有帮助!