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

Parameter Bag Extension Laravel Package

codifico/parameter-bag-extension

A lightweight Laravel/PHP extension for the Codifico parameter bag, adding convenient helpers to store, retrieve, merge, and organize application parameters. Keep configuration values tidy and accessible through a simple, fluent API.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite the framing as a Laravel/PHP package, this is a Behat extension — it plugs into Behat's extension/parameter-bag configuration layer rather than into a Laravel application. Architecturally that is a favorable property: it sits entirely in test tooling, has no runtime coupling to application code, no service provider, no migrations, and cannot affect production traffic. The corollary is that it does not solve any application-layer problem; its entire value surface is configuration hygiene inside a Behat suite. For a team standardized on PHPUnit/Pest — the Laravel default — there is no architecture slot for this package at all.

Integration feasibility. Mechanically trivial if the prerequisite is met: a dev-only Composer requirement plus an entry under extensions in behat.yml. The real gating question is whether the organization runs Behat in the first place, which is a minority position in the Laravel ecosystem. If Behat is already present, integration is an afternoon; if not, this package is not a reason to adopt Behat.

Technical risk. Adoption signals are the dominant risk: 7 stars and 0 dependents indicate an effectively undiscovered package with a bus factor of one. MIT licensing and a small code surface keep legal and supply-chain exposure low, but there is no evidence of CI, semantic versioning, or a compatibility matrix against Behat 3.x or PHP 8.x. Behat extensions hook into internal service definitions and the parameter bag, which are semi-private contracts; a Behat major upgrade can break the extension in ways that surface as confusing config errors rather than clean failures. Expect to own the code, not consume it.

Key questions.

  • What does this provide beyond Behat's native YAML imports, profile overrides, and %parameter%-style resolution?
  • Which Behat and PHP versions are supported, and is there a tagged release with CI?
  • Is the maintainer responsive, and is there a stated deprecation or handoff posture?
  • Does it compose safely with other extensions that mutate the same parameter bag (Symfony, Laravel/Behat bridge)?
  • How are secrets and environment-specific values handled — does resolution happen at config load, and can unresolved placeholders fail loudly?

Integration Approach

Stack fit. Treat this as an optional plugin inside an existing Behat suite, not as a Laravel dependency. Fit is positive only where (a) Behat is already the BDD harness and (b) the team has pain from duplicated or hardcoded configuration across suites and profiles. Where the team uses Pest/PHPUnit, the correct decision is to decline and stop the evaluation here.

Migration path. Pilot-first, single-suite: add as a require-dev, register the extension in one profile, convert a handful of hardcoded values to parameter references, and confirm resolution in one feature file. Blast radius is bounded — rollback is a config line and a Composer removal, with no data or runtime consequences. Do not touch shared suite configuration until the pilot proves resolution behaves as documented.

Compatibility. Pin an exact version and verify against the target PHP/Behat matrix in an isolated CI job before merging into shared config. Test explicitly for conflicts with any other extension registering against the parameter bag, since load order determines who wins and failures are often silent. Add a Behat version constraint to the suite's Composer manifest so a routine upgrade cannot quietly break test configuration.

Sequencing. (1) Confirm Behat and PHP versions in use. (2) Spike on a branch against a throwaway suite. (3) Read the source — it is small enough that direct inspection beats documentation research. (4) Establish naming and precedence conventions for parameters and document them alongside the test README. (5) Standardize only after the spike, and only if it demonstrably removes duplication.

Operational Impact

Maintenance. Plan to fork. With a single maintainer and negligible community, the realistic operating model is a vendored or VCS-referenced fork under team ownership. Cost is modest because the surface area is small, but it must be budgeted explicitly rather than assumed away; an untended fork that silently breaks on a Behat upgrade is the more expensive outcome.

Support. No vendor, no SLA, no meaningful community answer pool. Internal capability to read Behat extension internals is the de facto support contract. This is acceptable for test tooling and unacceptable anywhere the failure would block releases without a workaround.

Scaling. Parameter bags scale as configuration, not as load. The failure mode at scale is sprawl: the same logical value defined in several profiles with unclear precedence, and no single source of truth. Mitigate with a naming convention, one canonical parameter source (environment or a base config), and review discipline on behat.yml changes. Secrets must stay out of committed config regardless of how convenient parameter resolution makes them.

Failure modes. Unresolved placeholders are the sharp edge — a literal %base_url% reaching a test can produce a green run against a wrong or nonexistent target. Extension load-order conflicts can silently override values. Behat major upgrades can break the extension at config load. Committed credentials in a parameter bag are a disclosure risk. Each of these fails quietly, so add an assertion or smoke check that placeholders resolve to expected values.

Ramp-up. Low for engineers already fluent in Behat's extension and DI model; moderate for Laravel developers whose mental model is service providers and PHPUnit. Reading the source is a half-day at most and is likely faster and more reliable than any external evaluation. The honest TPM read: this package is worth a spike as a configuration-hygiene pattern, not worth a dependency-management commitment — the leverage is in the convention it encourages, and that convention can be reproduced with native Behat features if the package proves unmaintained.

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.
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules