awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
symfony avatar

symfony/config

0
View on GitHub↗
4,280 stars·44 forks·PHP·MIT·4 viewssymfony.com/config↗

Config

This project is a PHP configuration management library used to define, load, and validate application settings. It functions as a configuration merging engine and a schema validator, ensuring that software behaves consistently across different installations.

The library acts as a multi-format configuration loader that converts settings from various file types, such as YAML and XML, into a standardized internal format. It allows for the establishment of formal configuration schemas with validation rules and default values to prevent runtime errors caused by invalid inputs.

The system supports hierarchical configuration merging, which combines settings from multiple priority-ordered sources into a single unified set. This process includes recursive array merging and tree-based normalization to resolve conflicting values and apply environment-specific overrides.

Features

  • Application Settings Management - Provides a comprehensive system for defining, validating, and persisting application-wide configuration settings.
  • Typed Configuration Schemas - Enforces strict data types and structures on configuration inputs to prevent runtime errors.
  • Schema Validators - Validates application settings against formal schemas to ensure structural correctness and data type integrity.
  • Configuration Merging Engines - Functions as an engine for combining global and local configuration settings into a unified set.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
  • Configuration Schemas - Allows the definition of formal configuration schemas specifying required structures, types, and constraints.
  • Configuration Merging - Combines settings from multiple files and origins into a single unified registry to resolve conflicts.
  • Multi-Format Configuration Loading - Supports loading application settings from diverse formats including YAML and XML into a standardized format.
  • Configuration Management Libraries - Provides a dedicated PHP library for defining, loading, and validating application settings.
  • Hierarchical Configuration Overrides - Implements a priority-based hierarchy for applying configuration settings from global to specific levels.
  • Configuration Source Priority - Implements a priority-based loading system where environment-specific settings override global defaults.
  • Recursive Configuration Merging - Deeply merges multiple configuration sources into a single resolved settings tree to handle complex value overrides.
  • Multi-Format Config Parsers - Parses multiple configuration formats such as YAML and XML, merging them into a single immutable tree.
  • Unified Internal Representations - Provides a unified internal representation to map multiple configuration serialization formats for consistent processing.
  • Configuration Value Resolvers - Provides mechanisms for resolving and retrieving the active configuration values to drive application logic.
  • Configuration Normalization - Normalizes raw input data from various sources into a consistent final configuration state.
  • Star history

    Star history chart for symfony/configStar history chart for symfony/config

    Frequently asked questions

    What does symfony/config do?

    This project is a PHP configuration management library used to define, load, and validate application settings. It functions as a configuration merging engine and a schema validator, ensuring that software behaves consistently across different installations.

    What are the main features of symfony/config?

    The main features of symfony/config are: Application Settings Management, Typed Configuration Schemas, Schema Validators, Configuration Merging Engines, Configuration Schemas, Configuration Merging, Multi-Format Configuration Loading, Configuration Management Libraries.

    What are some open-source alternatives to symfony/config?

    Open-source alternatives to symfony/config include: node-config/node-config — This is a configuration manager for Node.js applications that handles hierarchical settings across different… dhall-lang/dhall-lang — Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to… lightbend/config — This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an… dynaconf/dynaconf — Dynaconf is a configuration management library for Python applications that provides a unified system for loading,… hashicorp/hcl — HCL is a configuration language implementation designed for parsing, evaluating, and encoding structured settings… cosmiconfig/cosmiconfig — Cosmiconfig is a Node.js configuration loader used to find and load application settings from package manifests, rc…

    Open-source alternatives to Config

    Similar open-source projects, ranked by how many features they share with Config.
    • dhall-lang/dhall-langdhall-lang avatar

      dhall-lang/dhall-lang

      4,458View on GitHub↗

      Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to terminate. It is a non-Turing-complete language that uses a strict type system to ensure correctness and prevent infinite loops during evaluation. The project functions as a deterministic configuration engine and marshalling tool, converting programmable expressions into static formats such as JSON, YAML, and Bash. It distinguishes itself through a focus on security and integrity, using semantic hashing to pin remote imports and enforcing origin policies to prevent data exfil

      Dhallconfiguration-languagedhall
      View on GitHub↗4,458
    • node-config/node-confignode-config avatar

      node-config/node-config

      6,427View on GitHub↗

      This is a configuration manager for Node.js applications that handles hierarchical settings across different deployment environments. It functions as an environment-based loader and settings parser that merges default configurations with overrides based on the current runtime context and hostname. The project distinguishes itself through a priority-based merge strategy that incorporates environment variables, command-line arguments, and external data sources to supersede file-based settings. It supports multi-format parsing for JSON, YAML, JavaScript, and TypeScript files, and allows for cust

      JavaScriptconfigdeploymentproperties
      View on GitHub↗6,427
    • lightbend/configlightbend avatar

      lightbend/config

      6,309View on GitHub↗

      This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,

      Javaconfiguration-libraryhoconsupported
      View on GitHub↗6,309
    • dynaconf/dynaconfdynaconf avatar

      dynaconf/dynaconf

      4,308View on GitHub↗

      Dynaconf is a configuration management library for Python applications that provides a unified system for loading, validating, and managing settings. It aggregates configuration data from multiple files, environment variables, and external stores into a single object using a defined precedence order. The project distinguishes itself through a layered environment manager that separates settings into distinct profiles, such as development and production. It includes a declarative validation framework to enforce data rules and type constraints during the loading process, as well as an external s

      Python
      View on GitHub↗4,308
    See all 30 alternatives to Config→