it-pack / configure-it-symfony
Symfony integration for ConfigureIt — a bundle + DI extension that wires the ConfigurationBuilder and exposes the resolved snapshot as a service.
1.1.1
2026-11-03 00:42 UTC
Requires
- php: ^8.5
- it-pack/configure-it: *@dev
- symfony/config: ^7.0
- symfony/dependency-injection: ^7.0
- symfony/http-kernel: ^7.0
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-asserts: ^3.3
- codeception/module-phpbrowser: ^4.1
- infection/codeception-adapter: ^0.4
- just-bases/php-obs-dev-base: ^0.1.0
- just-bases/php-qa-base: ^1.0
- just-bases/php-unit-test-base: ^1.0
- phparkitect/phparkitect: ^1.2
- symfony/yaml: ^7.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Symfony integration for ConfigureIt.
Provides a bundle + DI extension that wires the ConfigurationBuilder from your
bundle configuration and exposes the resolved, immutable
ConfigurationSnapshotInterface as a service — ready to be injected anywhere.
Install
composer require it-pack/configure-it-symfony
Register the bundle
// config/bundles.php return [ // ... ItPack\ConfigureItSymfony\ConfigureItBundle::class => ['all' => true], ];
Configure
# config/packages/configure_it.yaml configure_it: sources: - '%kernel.project_dir%/config/app' environment: '%kernel.environment%' # schema: App\Config\AppSchema # optional Nette\Schema definition # cache: '%kernel.cache_dir%/configure-it' # optional compiled artifact
Consume
use ItPack\ConfigureIt\Contract\ConfigurationSnapshotInterface; final class StatusController { public function __construct( private readonly ConfigurationSnapshotInterface $config, ) {} public function index(): Response { $name = $this->config->string('service.name'); // ... } }
The configured ConfigurationBuilder is also available as a public service
(ItPack\ConfigureIt\Core\ConfigurationBuilder) for advanced callers.
Quality gates
composer analyse # PHPStan level 9 composer cs:check # php-cs-fixer composer test:unit # PHPUnit