PHPackages                             chialab/object-storage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. chialab/object-storage

ActiveLibrary[File &amp; Storage](/categories/file-storage)

chialab/object-storage
======================

A collection of adapters for various object storage services.

v0.1.3(11mo ago)310.6k↓52.9%[7 PRs](https://github.com/chialab/php-object-storage/pulls)1MITPHPPHP ^8.3CI passing

Since May 25Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/chialab/php-object-storage)[ Packagist](https://packagist.org/packages/chialab/object-storage)[ RSS](/packages/chialab-object-storage/feed)WikiDiscussions main Synced today

READMEChangelog (6)Dependencies (11)Versions (16)Used By (1)

PHP Object Storage
==================

[](#php-object-storage)

This library provides a PHP implementation for using various object storage backends.

Installation
------------

[](#installation)

You can install this library using [composer](https://getcomposer.org):

```
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
--------

[](#adapters)

The plugin currently provides the following adapters.

You can create other adapters by implementing `MultipartUploadInterface`.

### `FilesystemAdapter`

[](#filesystemadapter)

This adapter uses the filesystem to store objects.

Takes an ordered array of arguments:

1. path to the root files folder
2. path to the temporary folder where multipart uploads are stored until finalization
3. base for object URLs from which the webserver serves the files
4. an optional umask for created files (defaults to octal `0077`)

### `S3Adapter`

[](#s3adapter)

This adapter uses an AWS S3 bucket to store objects.

Takes an ordered array of arguments:

1. an `Aws\S3\S3Client` instance
2. the name of the bucket
3. an optional key prefix to use for all files (defaults to empty)
4. an optional custom base for object URLs (defaults to empty)

### `InMemoryAdapter`

[](#inmemoryadapter)

This adapter uses volatile memory to store objects.

Takes only one argument:

1. base for object URLs

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance68

Regular maintenance activity

Popularity28

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~233 days

Recently: every ~239 days

Total

6

Last Release

334d ago

PHP version history (2 changes)v0.1.0-alpha.1PHP ~8.1

v0.1.3PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/00305fda0159b5d71f7bd6848ae7d3f7ac27d0179d79d58c4847848c8bd673e0?d=identicon)[fquffio](/maintainers/fquffio)

![](https://www.gravatar.com/avatar/36a1b89a62185411675b209cd97652abd29a4e98bd3e68cb5e402bee9ae883d6?d=identicon)[le0m](/maintainers/le0m)

![](https://www.gravatar.com/avatar/4bb153a6227d7c6cd124f94c414e63d68cb1b1def8a6fdac75770c495cb8713d?d=identicon)[edoardocavazza](/maintainers/edoardocavazza)

---

Top Contributors

[![fquffio](https://avatars.githubusercontent.com/u/7108146?v=4)](https://github.com/fquffio "fquffio (29 commits)")[![le0m](https://avatars.githubusercontent.com/u/10656716?v=4)](https://github.com/le0m "le0m (16 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (11 commits)")[![edoardocavazza](https://avatars.githubusercontent.com/u/3907295?v=4)](https://github.com/edoardocavazza "edoardocavazza (6 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/chialab-object-storage/health.svg)

```
[![Health](https://phpackages.com/badges/chialab-object-storage/health.svg)](https://phpackages.com/packages/chialab-object-storage)
```

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.3k543.5M2.6k](/packages/aws-aws-sdk-php)[guzzlehttp/guzzle

Guzzle is a PHP HTTP client library

23.5k1.0B35.4k](/packages/guzzlehttp-guzzle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M738](/packages/sylius-sylius)[google/cloud

Google Cloud Client Library

1.2k16.7M57](/packages/google-cloud)[google/cloud-core

Google Cloud PHP shared dependency, providing functionality useful to all components.

346132.9M112](/packages/google-cloud-core)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
