/package-aws-wrapper

Package to simplify the PHP SDK for AWS.

Primary LanguagePHPMIT LicenseMIT

AWS Wrapper for PHP

This package aims to wrap around Amazons PHP sdk so that it provides the developer with a more object-orientated interface. Thus, the developer will spend less time having to read the documentation in order to look-up the parameters they need to pass into an array.

This version of the wrapper is based on version 3 of the SDK.

Installation

composer require programster/aws-Wrapper

Example Usage

<?php

require_once(__DIR__ . '/vendor/autoload.php');

define('S3_BUCKET', 'my-bucket-name');
define('AWS_KEY', 'someKeyValueHere');
define('AWS_SECRET', 'someAwsSecretHere');

$awsWrapper = new \Programster\AwsWrapper\AwsWrapper(
    AWS_KEY,
    AWS_SECRET,
    Programster\AwsWrapper\Enums\AwsRegion::create_EU_W1()
);

# Get the S3 client for interfacing with S3, rather than EC2
$s3Client = $awsWrapper->getS3Client();

# Create a private file in S3 called "test-file.txt" that contains the text
# "hello world" in our bucket.
$response = $s3Client->createFile(
    S3_BUCKET,
    "hello world",
    'test-file.txt',
    Programster\AwsWrapper\S3\Acl::createAuthenticatedRead(),
    Programster\AwsWrapper\S3\StorageClass::createStandard()
);

Debugging

I've occasionally had issues with running commands that would just block and never return. The solution for me was to install the php-xml package with

sudo apt-get install php-xml

I will remove this note once I have figured out how to make composer require that for installation.