Weave Code
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

Platform Parameter Bundle Laravel Package

ecourty/platform-parameter-bundle

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Centralized Configuration Management: Enables a single source of truth for platform-wide parameters (e.g., feature flags, API endpoints, pricing thresholds), reducing hardcoded values and improving maintainability.
  • Dynamic Feature Toggles: Supports A/B testing, phased rollouts, or environment-specific settings without redeployments (e.g., enable_new_checkout_flow).
  • Type Safety & Developer Experience: Reduces runtime errors by enforcing parameter types (e.g., bool, int, array) via PHP 8.3+ features, cutting debugging time.
  • Admin UI Integration: Optional EasyAdmin CRUD interface allows non-technical stakeholders (e.g., ops, marketing) to update parameters via a dashboard, accelerating iteration.
  • Performance Optimization: Built-in caching (e.g., Symfony Cache component) minimizes database reads for frequently accessed parameters.
  • Roadmap Flexibility: "Buy vs. Build" decision—avoids reinventing parameter management while allowing customization (e.g., extending the entity for audit logs or multi-tenancy).
  • Multi-Environment Support: Use cases like staging vs. production API keys or rate limits without environment variable sprawl.

When to Consider This Package

  • Adopt if:

    • Your platform relies on configurable, global settings that change infrequently but require type safety (e.g., SaaS, e-commerce, or internal tools).
    • You need non-developer-friendly admin controls for parameters (EasyAdmin integration lowers barrier to adoption).
    • Your team uses Symfony 7/8 and PHP 8.3+ (no polyfills needed).
    • You prioritize developer productivity over minimalist solutions (e.g., env() files or simple YAML configs).
    • You want to avoid caching complexity—this bundle handles it out-of-the-box.
  • Look elsewhere if:

    • You need real-time parameter updates (this uses cache invalidation; consider Redis pub/sub for sub-second changes).
    • Your parameters are highly dynamic (e.g., per-user settings)—this is for platform-wide, not user-specific, values.
    • You’re on Symfony <7 or PHP <8.3** (compatibility gaps).
    • You require fine-grained access control (e.g., role-based parameter editing)—this lacks built-in RBAC.
    • You prefer serverless/decoupled architectures (e.g., AWS SSM Parameter Store)—this is database-backed.
    • Your team lacks Symfony familiarity (steepness of bundle integration).

How to Pitch It (Stakeholders)

For Executives/Business Leaders

"This bundle lets us centralize and secure critical platform settings—like feature flags, API keys, or pricing rules—so our team can update them without code deployments. Non-technical stakeholders (e.g., marketing, ops) can manage these via a simple admin dashboard, cutting dependency on engineers. It also reduces bugs by enforcing data types, saving dev time. Think of it as a ‘config-as-code’ system that scales with our product."

Key Outcomes:

  • Faster iteration on platform settings (e.g., launch features to subsets of users).
  • Lower risk of misconfigured environments (e.g., wrong API keys in staging).
  • Reduced tech debt from scattered .env files or hardcoded values.

For Engineering Teams

*"This is a batteries-included solution for managing global platform parameters with:

  • Type safety: No more Parameter 'tax_rate' expected int, got string errors at runtime.
  • Caching: Automatic Symfony Cache integration for high-read parameters (e.g., max_upload_size).
  • Admin UI: Optional EasyAdmin CRUD to let ops/marketing update values without PRs.
  • Extensibility: Need audit logs? Multi-tenancy? The entity is customizable.

Trade-offs:

  • Tightly couples to Symfony (not framework-agnostic).
  • Cache invalidation is manual for now (but trivial to extend).

Proposal: Use this for platform-wide configs (e.g., stripe_webhook_secret), and pair with feature flags for dynamic behavior. Avoid for user-specific or real-time data."*


For Developers

*"This replaces:

// Before: Magic strings everywhere
if (getenv('ENABLE_NEW_FEATURE') === 'true') { ... }

// After: Type-safe, autocompleted, cached access
if ($platformParams->getBoolean('enable_new_feature')) { ... }

Why it’s worth the integration:

  1. Zero runtime surprises: Parameters are validated at definition (e.g., getInt('timeout_seconds')).
  2. Cache-aware: Under the hood, it uses Symfony’s cache system—no manual Redis calls.
  3. CLI tools: Generate parameters, update them, or dump current values via commands.
  4. EasyAdmin: Add a /admin/parameters page in 10 minutes if needed.

Gotchas:

  • Requires Symfony 7/8 and PHP 8.3 (no legacy support).
  • Database schema migration needed (but the bundle handles it).
  • Cache invalidation is manual for now (but easy to override).

Recommendation: Start with core platform params (e.g., api_rate_limit, default_currency), then expand as needed."*

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.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui