chialab / object-storage
A collection of adapters for various object storage services.
Installs: 6 760
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 5
Requires
- php: ~8.1
- aws/aws-sdk-php: ^3.222
- guzzlehttp/promises: ^1.5
- guzzlehttp/psr7: ^2.2
- psr/http-message: ^1.0
- webmozart/assert: ^1.10
Requires (Dev)
- cakephp/cakephp-codesniffer: ^4.5
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.7
- phpstan/phpstan-phpunit: ^1.1
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^9.5
- dev-main
- v0.1.0
- v0.1.0-alpha.2
- v0.1.0-alpha.1
- dev-dependabot/composer/aws/aws-sdk-php-3.261.6
- dev-dependabot/composer/phpstan/phpstan-1.10.5
- dev-dependabot/composer/cakephp/cakephp-codesniffer-5.1.0
- dev-dependabot/composer/phpstan/phpstan-phpunit-1.3.10
- dev-dependabot/composer/phpunit/phpunit-10.0.14
This package is auto-updated.
Last update: 2024-04-09 15:27:48 UTC
README
This library provides a PHP implementation for using various object storage backends.
Installation
You can install this library using composer:
composer install chialab/object-storage
To use AWS S3 as a backend storage, the SDK is also needed:
composer install aws/aws-sdk-php
Adapters
The plugin currently provides the following adapters.
You can create other adapters by implementing MultipartUploadInterface
.
FilesystemAdapter
This adapter uses the filesystem to store objects.
Takes an ordered array of arguments:
- path to the root files folder
- path to the temporary folder where multipart uploads are stored until finalization
- base for object URLs from which the webserver serves the files
- an optional umask for created files (defaults to octal
0077
)
S3Adapter
This adapter uses an AWS S3 bucket to store objects.
Takes an ordered array of arguments:
- an
Aws\S3\S3Client
instance - the name of the bucket
- an optional key prefix to use for all files (defaults to empty)
- an optional custom base for object URLs (defaults to empty)
InMemoryAdapter
This adapter uses volatile memory to store objects.
Takes only one argument:
- base for object URLs