Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Memory Laravel Package

orchestra/memory

Orchestra Memory gives Laravel apps a lightweight in-memory key-value store for the current request lifecycle. Use its simple put, get, has, and forget API to cache computed values and share state between components without touching persistent storage or external cache drivers.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

The build-vs-buy call on a settings layer. Orchestra Memory is a small, single-purpose key-value store — fluent get/set/forget/has, namespaced stores, and pluggable backends (in-memory, cache, database) — wired into Laravel via a service provider and facade. The decision it informs is narrow but real: do we standardize application settings behind one repository abstraction, or keep letting ad-hoc settings code accumulate across the codebase? Where the product has several settings surfaces — user preferences, tenant configuration, extension/plugin options — consolidating them behind one API is a durable maintenance reduction. Where the requirement is one or two values, config(), the cache facade, and env vars already do the job and the dependency is pure overhead.

Roadmap work it unblocks. The natural consumers are features needing dynamic, persisted, non-deploy configuration: admin-editable settings, per-tenant overrides layered over application defaults, per-extension configuration inside an Orchestra-style CMS, and operational toggles ops can flip without a release. Because the backend is a driver choice rather than a code change, persistence becomes a configuration decision — the same call sites can run on the array driver in tests, cache in staging, and database in production. That is a genuine architectural convenience worth sequencing as an enabler rather than a standalone feature.

Sequencing the Laravel 8 / Octane decisions. v6.0.0 is a compatibility release — Laravel 8 and Octane support, no new capability announced. For a PM that is a scheduling input, not a feature: adopting on a modern baseline is no longer blocked, and the Octane claim means this isn't an automatic carve-out in an Octane migration. Both are "remove a blocker from the critical path" outcomes worth recording on the roadmap even though no user-visible behavior changes.

The adoption signal is the thing to weigh hardest. Effectively zero dependents and a 0.3 composite score. This is a single-maintainer, ecosystem-specific component from the Orchestra Platform family. That doesn't make it bad — the API is small enough to read in an afternoon — but it changes the calculus. You are not buying ecosystem gravity, community battle-testing, or a hiring pool. You are buying a small, legible abstraction and taking the bus-factor risk onto your own books. Defensible for an internal settings layer whose interface is trivial to reimplement; much harder to defend as a load-bearing platform dependency across multiple teams.

Use cases that justify it:

  • An admin-facing settings panel writing to the database.
  • Extension or plugin configuration inside an Orchestra-style application.
  • Per-tenant overrides layered over global defaults.
  • A thin abstraction that lets environments swap storage backends without touching product code.

When to Consider This Package

Adopt when all of the following hold:

  • You have a genuine settings need with more than a handful of values — ideally multiple scopes (global, tenant, extension) you want behind one API rather than three bespoke implementations.
  • You are on or moving to Laravel 8. v6.0.0 targets Laravel 8; confirm the composer.json constraints directly rather than inferring the support matrix from release notes, because a major bump conventionally drops older framework floors.
  • You are on, or plausibly heading toward, Laravel Octane — or your integration is simple enough that the Octane claim is nice-to-have rather than a dependency.
  • The interface is genuinely cheap to own if the maintainer stops. Read the whole repository before committing; the entire value proposition is a thin abstraction, so exit cost should be measured in days, not quarters.
  • You are inside, or intentionally aligned with, the Orchestra Platform ecosystem, where this is the native settings layer and integration conventions already exist.

Look elsewhere — or write the twenty-line version yourself — when:

  • You need one or two configuration values. Framework primitives cover it with zero new dependencies and zero new upgrade obligations.
  • You need more than a key-value store. Typed settings, validation, encryption at rest, audit trails of who changed what, or UI scaffolding all exceed scope — evaluate a purpose-built settings package or a feature-flag service instead.
  • You need organizational confidence in the dependency. With effectively no dependents, this is hard to justify as a platform-wide dependency in a regulated or high-availability context where "unmaintained" means "unpatched." Ask about release cadence and support horizon before making it load-bearing.
  • You are pinned to Laravel 6 or 7 and cannot move. Confirm the status of the v5 line first; if it is end-of-life, that is a migration-forcing event — compare alternatives rather than defer.
  • Adoption rests on the Octane headline alone and you have no Octane plans. Then v6 buys framework alignment and nothing more.

How to Pitch It (Stakeholders)

For executives. This is a small, single-purpose component that standardizes how the application stores and reads its own settings — the difference between one well-defined place for configuration and several inconsistent ones scattered through the codebase. The v6.0.0 release contains no new customer-facing capability; its value is that the package is now current with our framework version and with Laravel Octane, so it does not become a blocker when we modernize. The decision on the table is whether to adopt a low-adoption, single-maintainer dependency as our settings layer. My recommendation is conditional: adopt it where the settings requirement is real and the exit cost is low — the API is small enough to replace internally — and decline it where the need is a single config value or where we require audit trails and validation it does not provide. I would not describe this as a strategic platform commitment.

For engineering. Treat this as a thin repository abstraction over get/put/forget, with service-provider and facade wiring plus pluggable backends. Two things matter before committing. First, read the composer.json constraints directly — v6 is a major bump whose stated changes are only Laravel 8 and Octane support, which conventionally means older framework and possibly older PHP versions were dropped; verify rather than assume, and check whether any published config or extension needs review. Second, the Octane claim is a statement about request-state isolation, not a feature: verify it under sustained concurrency if we intend to run Octane, and audit our own singletons for the same hazard — the package cannot protect us from our own cached state. There is essentially no dependents base, so we own the upgrade path and the debugging: pin the version, record the supported matrix in the dependency register, and keep our usage shallow — the package API plus our own wrapper, never subclassing package internals — so replacement stays cheap. If the requirement is genuinely a few values, prefer the framework's own config and cache primitives and spend the dependency budget elsewhere.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment