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

Config Laravel Package

symfony/config

Symfony Config component helps you find, load, merge, auto-fill, and validate configuration from many sources (YAML, XML, INI, databases, etc.). Provides tools for building robust, consistent configuration handling in PHP apps and libraries.

View on GitHub
Deep Wiki
Context7

Helps you find, load, combine, autofill and validate configuration values of any kind

Frequently asked questions about Config
Can I use Symfony Config to validate Laravel’s config/app.php or other PHP config files?
Yes, but indirectly. Symfony Config doesn’t replace Laravel’s ConfigRepository. Instead, integrate it via a custom service provider to validate PHP config files (e.g., `config/services.php`) against a schema before merging them into Laravel’s container. Use `TreeBuilder` to define rules for nested keys.
How do I install Symfony Config in a Laravel project?
Run `composer require symfony/config`. No Laravel-specific setup is needed, but you’ll need to create a service provider to bridge Symfony’s config system with Laravel’s. Example: `ConfigValidatorServiceProvider` to load, validate, and inject configs into the container.
Will Symfony Config work with Laravel’s environment variables (.env) or cached configs?
Yes, but you’ll need to manually load `.env` values into Symfony’s `ParametersConfig` or use a custom loader. Cached configs (e.g., `config.php` in `bootstrap/cache`) can be validated post-load, but Symfony Config won’t generate them—it augments Laravel’s existing pipeline.
Does Symfony Config support YAML/XML configs for Laravel, or just PHP arrays?
It supports all three: YAML, XML, and INI files via loaders like `YamlFileLoader` or `XmlFileLoader`. For Laravel, you’d typically use these for domain-specific configs (e.g., `config/payments/stripe.yaml`) while keeping `config/app.php` as the primary Laravel config.
What Laravel versions are compatible with Symfony Config?
Symfony Config works with Laravel 8+ (PHP 8.0+) and Laravel 9/10 (PHP 8.1+). Check the [Symfony docs](https://symfony.com/doc/current/components/config.html) for PHP version requirements. Laravel’s internal use of Symfony Config ensures basic compatibility, but complex integrations may need adjustments for newer Laravel features.
How do I define a schema for validating Laravel configs (e.g., for a payment gateway)?
Use Symfony’s `TreeBuilder` to define a schema. For example, create a `PaymentGatewayConfig` class with methods like `addRoot()` and `addNode()` to enforce required keys (e.g., `api_key`, `endpoint`) and data types. Example: `$treeBuilder->root('payment')->children()->scalarNode('api_key')->isRequired()->end()`.
Is there a performance impact if I validate every config file on every request?
Yes, validation adds CPU overhead. Benchmark with `symfony/var-dumper` to measure impact. Mitigate by validating only during critical phases (e.g., `boot()` in a service provider) or caching validated configs. Avoid runtime validation for simple configs.
Can I use Symfony Config to load configs from a database or API in Laravel?
Absolutely. Symfony Config supports custom loaders. For databases, create a `DatabaseConfigLoader` that queries your DB and returns an array. For APIs, fetch configs dynamically and merge them with static files using `ConfigCache`. Example: `$loader->load('database://configs')`.
What’s the difference between Symfony Config and Laravel’s built-in config system?
Laravel’s config system is a simple key-value store (e.g., `config('app.timezone')`) with basic merging. Symfony Config adds structured validation (e.g., enforce `array` types, required keys), multi-source loading (YAML/XML/DB), and autofilling defaults. Use Symfony Config for complex schemas; Laravel’s system for simple configs.
Are there Laravel-specific wrappers or packages to simplify Symfony Config integration?
Not officially, but you can create wrappers. For example, a `LaravelConfigValidator` facade to abstract `TreeBuilder` logic. Alternatively, use packages like `spatie/laravel-config-array` for simpler config management, but Symfony Config offers deeper validation. Check Packagist for community solutions.
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.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai