Skip to content

howardlopez/aws-sdk-php-symfony

 
 

Repository files navigation

AWS Service Provider for Symfony

@awsforphp on Twitter Build Status Latest Stable Version Total Downloads

A Symfony bundle for including the AWS SDK for PHP.

Installation

The AWS bundle can be installed via Composer by requiring theaws/aws-sdk-php-symfony package in your project's composer.json:

{
    "require": {
        "aws/aws-sdk-php-symfony": "~2.0"
    }
}

and adding an instance of Aws\Symfony\AwsBundle to your application's kernel:

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        return [
            ...
            new \Aws\Symfony\AwsBundle(),
        ];
    }
    ...
}

Configuration

By default, configuration is handled by the SDK rather than by the bundle, and no validation is performed at compile time. Full documentation of the configuration options available can be read in the SDK Guide.

If AWS_MERGE_CONFIG environment variable is set to true, configuration validation and merging are enabled. The bundle validates and merges known configuration options, including for each service. Additional configuration options can be included in a single configuration file, but merging will fail if non-standard options are specified in more than once.

To use a service for any configuration value, use @ followed by the service name, such as @a_service. This syntax will be converted to a service during container compilation. If you want to use a string literal that begins with @, you will need to escape it by adding another @ sign.

Sample configuration can be found in the tests/fixtures folder for YAML, PHP, and XML.

Sample YML Configuration

The sample configuration which can be placed in app/config/config.yml file.

framework:
    secret: "Rosebud was the name of his sled."

aws:
    version: latest
    region: us-east-1
    credentials:
        key: not-a-real-key
        secret: "@@not-a-real-secret" # this will be escaped as '@not-a-real-secret'
    DynamoDb:
        region: us-west-2
    S3:
        version: '2006-03-01'
    Sqs:
        credentials: "@a_service"
    CloudSearchDomain:
        endpoint: https://search-with-some-subdomain.us-east-1.cloudsearch.amazonaws.com

services:
    a_service:
        class: Aws\Credentials\Credentials
        arguments:
            - a-different-fake-key
            - a-different-fake-secret

Usage

This bundle exposes an instance of the Aws\Sdk object as well as instances of each AWS client object as services to your symfony application. They are name aws.{$namespace}, where $namespace is the namespace of the service client. For instance:

Service Instance Of
aws.dynamodb Aws\DynamoDb\DynamoDbClient
aws.ec2 Aws\Ec2\Ec2Client
aws.s3 Aws\S3\S3Client
aws_sdk Aws\Sdk

The services made available depends on which version of the SDK is installed. To view a full list, run the following command from your application's root directory:

php bin/console debug:container aws

Full documentation on each of the services listed can be found in the SDK API docs.

Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 95.2%
  • Makefile 4.8%