chialab / object-storage
A collection of adapters for various object storage services.
Installs: 7 791
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 4
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: ^5.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.11
- phpstan/phpstan-phpunit: ^1.4
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2024-10-19 08:10:18 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