2amigos / yiiaws

Amazon Web Services SDK PHP 2 Wrapper
21 stars 15 forks source link

Yii-AWS

Provides a simple way to configure and use Amazon AWS SDK PHP 2. For more information regarding its services, please go to http://docs.aws.amazon.com/aws-sdk-php-2/latest/namespace-Aws.html.

Before you start

The wrapper is in alpha version. Obviously, I couldn't test all the possibilities of Amazon SDK, I have tested just a couple. But being just a wrapper, it should not have any issues whatsoever but those related to the SDK itself.

I published, in order to get good feedback from you guys and again, provide another utility to the Yii framework. If you wish to collaborate, comment, whatever, please, do not hesitate to add your two cents via its github repository. Everybody welcome.

Overview

The main purpose of this extension was to be able to configure the sdk in a very easy way, and then be able to make use of its classes with an easy and configurable import at my main config file.

Install

I assume that if you wish to use this extension, you already have your AWS credentials.

Since schmunk convinced me about composer wonders. From now on, you will be able to install my extensions using composer (https://packagist.org/packages/2amigos/).

Via Composer

    {
        "require": {
            "2amigos/yii-aws": "dev-master"
        }
    }

You can find out more on how to install Composer, configure autoloading, and other best-practices for defining dependencies at getcomposer.org.

The Old Fashion Way

If you do not work with composer, then simply download or clone from its repository and place it wherever you wish.

After you do that, make sure you import on your main.php config file, the classes within the yii-aws/components/* folder.

Configuration

The library has a config folder where you will find a file named "aws-config" to setup the configuration options for the services. For more information about configuring your services, please have a look at http://docs.aws.amazon.com/awssdkdocsphp2/latest/gettingstartedguide/sdk-php2-using-the-sdk.html

Note do not forget to add your AWS credentials there :)

How to use it

// This import is better to be included in your main
// config file. For those newbies to the framework, 
// please recall that this is a path alias, you should 
// write exactly where it is
Yii::import('path.to.amazon.components.*');

$s3 = new A2S3();
$response = $s3->listBuckets(); // we are going to list the buckets

// just for the sake of the example
print_r($response);

$result = $s3->putObject(array(
    'Bucket' => 'YOUR-BUCKET,
    'Key'    => 'data.txt',
    'Body'   => 'Hello!'
));

// Fancier options (such as waiters - http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/feature-waiters.html)
// require calling the S3 getClient() method.  If you don't use the getClient() method, you will get an error
// something like "Command was not found matching WaitUntilObjectExists"
$s3->getClient()->waitUntilObjectExists(array(
    'Bucket' => 'YOUR-BUCKET',
    'Key'    => 'data.txt',
));

Requirements

Resources

2amigOS!
web development has never been so fun
www.2amigos.us