/aws-sdk-php-laravel

A simple Laravel 4 service provider for including the AWS SDK for PHP

Primary LanguagePHPApache License 2.0Apache-2.0

AWS Service Provider for Laravel 4

Latest Stable Version Total Downloads

A simple Laravel 4 service provider for including the AWS SDK for PHP.

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": "1.*"
    }
}

Then run a composer update

php composer.phar update

Configuration

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

Publish the package configuration using Artisan.

php artisan config:publish aws/aws-sdk-php-laravel

Update your settings in the generated app/config/packages/aws/aws-sdk-php-laravel configuration file.

return array(
    'key'         => 'YOUR_AWS_ACCESS_KEY_ID',
    'secret'      => 'YOUR_AWS_SECRET_KEY',
    'region'      => 'us-east-1',
    'config_file' => null,
);

Find the providers key in your app/config/app.php and register the AWS Service Provider.

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

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

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

Usage

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

$s3 = App::make('aws')->get('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::get('s3');
$s3->putObject(array(
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',
));

Links