linkorb/objectstorage
Linkorb ObjectStorage is a lightweight PHP abstraction layer for object storage, providing a consistent API to upload, retrieve, and manage files across local and cloud-backed storage systems. It simplifies integrating multiple storage backends into PHP applications.
Verdict: not recommended as a primary storage abstraction. At 10 stars, a score of 0.08, no verifiable repository, and a last release of 2019-08-09, this package should be treated as unmaintained legacy. It is only defensible behind an internal interface, or where existing code already depends on it.
Architecture fit
Storage facade backed by league/flysystem v3, which ships first-party S3, SFTP, FTP, and local adapters plus presigned URLs, streaming, and per-disk configuration.Storage::fake won't apply), and divergent retry semantics.Integration feasibility
ObjectStore contract and treat this package as one implementation among several.Technical risk
| Risk | Severity | Notes |
|---|---|---|
| Abandonment | High | Six-plus years without a release; no upstream fixes, no security response path. |
| Dependency drift | High | 2019-era pins on Guzzle/Symfony/PSR packages will likely conflict with Laravel 10/11 (PHP 8.1/8.2+) and with aws-sdk-php. Composer may force downgrades elsewhere in the app. |
| Provenance / supply chain | High | Unknown repository means no source review, no visible CI, no security policy, no license-header verification. Pin the exact version in the lockfile and never allow a VCS branch. |
| API stability | Medium | No evidence of semver discipline; a revival release could break silently. |
| PHP 8 compatibility | Medium | Implicit nullable params, dynamic properties, and deprecations are unverified. |
Key questions (to answer before any commitment)
composer.json actually require — PHP range, Guzzle, PSR-7/18, Symfony components?Stack fit
Storage facade with league/flysystem-aws-s3-v3.Migration path
ObjectStore interface covering only those operations.FlysystemObjectStore (default) and LinkorbObjectStore.Compatibility
composer require --dry-run in a throwaway branch against the real app constraint set before anything else; a Guzzle/Symfony conflict with aws-sdk-php is an immediate stop signal.E_ALL.Sequencing
Gate decision: if the spike shows no service provider, an unresolvable dependency conflict, or no streaming support, stop and standardize on Flysystem.
Maintenance
Support
Scaling
Failure modes
false returns or swallowed exceptions producing missing/corrupt objects with no alert.Ramp-up
How can I help you explore Laravel packages today?