chialab / object-storage
A collection of adapters for various object storage services.
Installs: 9 158
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 6
pkg:composer/chialab/object-storage
Requires
- php: ^8.3
- aws/aws-sdk-php: ^3.352
- guzzlehttp/promises: ^2.2
- guzzlehttp/psr7: ^2.7
- psr/http-message: ^2.0
- webmozart/assert: ^1.11
Requires (Dev)
- cakephp/cakephp-codesniffer: ^5.2
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-webmozart-assert: ^2.0
- phpunit/phpunit: ^12.3
- dev-main
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.1.0-alpha.2
- v0.1.0-alpha.1
- dev-dependabot/composer/aws/aws-sdk-php-3.357.2
- dev-dependabot/github_actions/actions/upload-artifact-5
- dev-dependabot/composer/webmozart/assert-1.12.0
- dev-dependabot/composer/phpstan/phpstan-2.1.31
- dev-dependabot/composer/aws/aws-sdk-php-3.356.42
- dev-dependabot/composer/phpunit/phpunit-12.4.1
- dev-dependabot/composer/cakephp/cakephp-codesniffer-5.3.0
This package is auto-updated.
Last update: 2025-10-27 18:05:42 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\S3Clientinstance - 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