GitXplorerGitXplorer
a

aws-sdk-php-laravel

public
1665 stars
244 forks
4 issues

Commits

List of commits on branch master.
Unverified
b5d77cbdd1aada19abef7f5e72ff5c190fee5312

chore: Modified bug issue template to add checkbox to report potential regression.

aashishdhingra committed 4 months ago
Verified
5ec4c887d54bafb1a2239dc83d1a775271faefd1

Merge pull request #233 from khushail/khushail/handleStaleDiscussions

yyenfryherrerafeliz committed 6 months ago
Verified
11cb363873bd77a91b262936936abfa6a2122d53

Merge pull request #242 from stobrien89/deprecation-below-7.2

sstobrien89 committed 10 months ago
Unverified
c3881685b38979629b1563a868ef2d12e1c2ea12

enhancement: deprecate versions below 7.2.5, add support for PHP 8.3

committed 10 months ago
Verified
f877c7cb83ebd0a1a900c5beafc85747f4ef0383

Merge pull request #239 from etelford/support-laravel-11

sstobrien89 committed 10 months ago
Unverified
831e01d4e5e6c08d9b451bed363cc3aa8e6c5e32

Add support for Laravel 11

eetelford committed a year ago

README

The README file for this repository.

AWS Service Provider for Laravel 5 - 11

Latest Stable Version Total Downloads Gitter

This is a simple Laravel service provider for making it easy to include the official AWS SDK for PHP in your Laravel and Lumen applications.

This README is for version 3.x of the service provider, which is implemented to work with Version 3 of the AWS SDK for PHP and Laravel 5.1.

Major Versions:

  • 3.x (YOU ARE HERE) - For laravel/framework:6.0|7.0|8.0|9.0|10.0|11.0 and aws/aws-sdk-php:^3.279.0
  • 2.x (2.0 branch) - For laravel/framework:5.0.* and aws/aws-sdk-php:~2.4
  • 1.x (1.0 branch) - For laravel/framework:4.* and aws/aws-sdk-php:~2.4

Jump To:

Getting Started

Installation

The AWS Service Provider can be installed via Composer by requiring the aws/aws-sdk-php-laravel package in your project's composer.json.

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

Then run a composer update

php composer.phar update

To use the AWS Service Provider, you must register the provider when bootstrapping your application.

Lumen

In Lumen find the Register Service Providers in your bootstrap/app.php and register the AWS Service Provider.

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

Laravel

In Laravel find the providers key in your config/app.php and register the AWS Service Provider.

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

Find the aliases key in your config/app.php and add the AWS facade alias.

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

Configuration

By default, the package uses the following environment variables to auto-configure the plugin without modification:

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

To customize the configuration file, publish the package configuration using Artisan.

php artisan vendor:publish  --provider="Aws\Laravel\AwsServiceProvider"

The settings can be found in the generated config/aws.php configuration file. By default, the credentials and region settings will pull from your .env file.

return [
    'credentials' => [
        'key'    => env('AWS_ACCESS_KEY_ID', ''),
        'secret' => env('AWS_SECRET_ACCESS_KEY', ''),
    ],
    'region' => env('AWS_REGION', 'us-east-1'),
    'version' => 'latest',
    // You can override settings for specific services
    'Ses' => [
        'region' => 'us-east-1',
    ],
];

Note that you can always delete the credentials line from this file if you'd like to use the default SDK Configuration Provider chain instead.

Referring Laravel 5.2.0 Upgrade guide, you must using config file instead of environment variable option if using php artisan config:cache.

Learn more about configuring the SDK on the SDK's User Guide.

Usage

In order to use the AWS SDK for PHP within your app, you need to retrieve it from the Laravel Service Container. The following example uses the Amazon S3 client to upload a file.

$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',
));

If the AWS facade is registered within the aliases section of the application configuration, you can also use the following technique.

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

To use in Lumen, you need to retrieve it from the service container a bit differently:

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

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.

This SDK implements AWS service APIs. For general issues regarding the AWS services and their limitations, you may also take a look at the Amazon Web Services Discussion Forums.

Opening Issues

If you encounter a bug with aws-sdk-php-laravel we would like to hear about it. Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. It’s helpful if you include the version of aws-sdk-php-laravel, PHP version and OS you’re using. Please include a stack trace and reduced repro case when appropriate, too.

The GitHub issues are intended for bug reports and feature requests. For help and questions with using aws-sdk-php please make use of the resources listed in the Getting Help section. There are limited resources available for handling issues and by keeping the list of open issues lean we can respond in a timely manner.

Contributing

We work hard to provide a high-quality and useful SDK for our AWS services, and we greatly value feedback and contributions from our community. Please review our contributing guidelines before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution.

Resources