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.
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.
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.
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/).
2amigos/yii-aws
as a dependency in your project's composer.json
file. {
"require": {
"2amigos/yii-aws": "dev-master"
}
}
curl -s "http://getcomposer.org/installer" | php
php composer.phar install
require '/path/to/vendor/autoload.php';
You can find out more on how to install Composer, configure autoloading, and other best-practices for defining dependencies at getcomposer.org.
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.
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 :)
// 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',
));
web development has never been so fun
www.2amigos.us