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

Zend Config Aggregator Parameters Laravel Package

zendframework/zend-config-aggregator-parameters

A Zend Config Aggregator post-processor that resolves %parameter% placeholders in configuration, letting you centralize reusable values and keep aggregated config DRY across environments and modules.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: This is not a Laravel package. It carries no service provider, facade, config driver, or Artisan integration. It is a plugin for zend-config-aggregator that adds %parameter%-style placeholder resolution backed by symfony/dependency-injection's ParameterBag. For a Laravel codebase the idiomatic fit is effectively zero — Laravel's config layer already resolves values via env()/config() at bootstrap and bakes them with config:cache.

Integration feasibility: Low to moderate. It can be called from a service provider as a standalone library, but doing so imports a foreign abstraction (the config aggregator) plus a heavyweight DI container solely to perform string interpolation. That is a poor dependency-to-value ratio.

Technical risk:

  • Namespace abandonment. zendframework/* packages are EOL; the maintained continuation is laminas/laminas-config-aggregator-parameters. Adopting the zend package means adopting an unmaintained dependency with no CVE response process.
  • Constraint ceiling. 1.2.0 widens symfony/dependency-injection to ^5.0. Symfony 5 is end-of-life (5.4 is security-only), and no Symfony 6/7 support is declared. On a modern PHP 8.2/8.3 stack this is a hard blocker.
  • Release content is benign. 1.2.0 is purely additive: one community PR widening a dependency constraint. No breaking changes, no deprecations, no removals, no fixes. The release itself is low-risk; the package's trajectory is the risk.

Key questions:

  1. Is zendframework/* already in our composer.lock transitively, or is this a new introduction?
  2. Which Symfony DI major are we pinned to, directly or transitively, and does widening to ^5.0 change resolution?
  3. Do we actually need parameter interpolation, or is this solving a problem Laravel config already solves?
  4. If the capability is genuinely required, why not standardize on the Laminas fork?
  5. Who owns this dependency internally, given there is no upstream owner?

Integration Approach

Stack fit: None with Laravel's native config. The only plausible use case is a polyglot monorepo sharing config files between a Symfony service and a Laravel app. Absent that, this package adds conceptual overhead for no functional gain.

Migration path:

  1. Inventory. Check composer.lock for zendframework/* and symfony/dependency-injection; establish whether this arrived transitively.
  2. Replace, don't adopt. If the capability is needed, move to laminas/laminas-config-aggregator-parameters — largely a namespace rename and near drop-in.
  3. Or eliminate. If only interpolation is wanted, vendor a ~50-line parameter-resolution step behind a Laravel service provider. This removes both the abandoned namespace and the Symfony DI container from the tree.
  4. Do not wire an external aggregator alongside Laravel's config cache — two sources of truth for configuration is an operational trap.

Compatibility: PHP support is not stated in the release notes and the widened constraint only addresses Symfony DI 5.x. Laravel 10/11 require PHP 8.1+. Verify actual PHP 8.x behavior before any commitment; the package predates those runtimes.

Sequencing: Audit → decide replace-or-remove → pin explicitly. Critically, do not let a routine composer update absorb 1.2.0 silently. The widened constraint can move symfony/dependency-injection from 4.x to 5.x in a lockfile refresh, and that ripple can surface in unrelated packages that share the dependency.

Operational Impact

Maintenance: Effectively frozen. A single external PR is the entire delta between releases; there is no roadmap, no cadence, and no active maintainer. Budget for it as a vendored/forked dependency, not a maintained one.

Support: No vendor, no LTS window, no security disclosure channel. If retained, it needs a named internal owner and a standing review date.

Scaling: Negligible. Resolution happens once at bootstrap/compile time with no runtime or request-path cost. The only scaling-adjacent nuance is the config:cache interaction — resolved values are baked into the cache, so any parameter change requires a cache rebuild and a redeploy rather than a config-only change.

Failure modes:

  • Unresolved placeholder throws during bootstrap: a hard fail that takes the whole application down. Fast-failing is preferable to silent misconfiguration, but CI must exercise container/config compilation on every build to catch it pre-deploy.
  • Circular parameter references produce recursion or an opaque exception; hard to diagnose under time pressure.
  • Constraint drift after a lockfile refresh can force an unsupported Symfony DI major and yield fatal type errors.
  • Runtime drift — future PHP releases go untested with no patching path.

Ramp-up: Minimal in skill terms: small API, one concept (a parameter bag). The real onboarding cost is explanatory — every new engineer will ask why a Laravel application contains a Zend config aggregator. Either document the exception rigorously or remove the need for the question.

Verdict on 1.2.0: Low-risk in isolation, and it does not change the strategic picture. Do not adopt for a Laravel codebase. If it is already present, treat this release as a prompt to remove it or migrate to the Laminas successor rather than as a reason to upgrade.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource