Download the PHP package phpdot/config without Composer
On this page you can find all versions of the php package phpdot/config. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phpdot/config
More information about phpdot/config
Files in phpdot/config
Package config
Short Description Typed, cached, dot-notation configuration for modern PHP.
License MIT
Informations about the package config
phpdot/config
Configuration management for PHP: load, merge, resolve, cache. Zero dependencies, pure PHP.
Table of Contents
- Requirements
- Installation
- Usage
- Quick Start
- Config Files
- Environment Overrides
- Placeholders
- Dynamic Values
- DTO Hydration
- Caching
- Full API
- Architecture
- Testing
- License
Requirements
| Requirement | Constraint |
|---|---|
| PHP | >= 8.5 |
| Composer dependencies | none — pure PHP |
Installation
Usage
Quick Start
Config Files
Each file in the config directory returns an array. The lowercased filename (without .php) becomes the section name — Database.php and database.php both yield section database.
Access with dot notation:
Environment Overrides
Config files can include environment-specific overrides as top-level keys:
Values not overridden are inherited from base. Environment keys are removed from the result.
Placeholders
Reference values from other sections with {section.key} syntax:
Unresolvable placeholders are left as-is. No errors thrown.
Dynamic Values
Closures are executed once during resolution:
DTO Hydration
Auto-hydrate any class from a config section:
No base class needed. No interface needed. Config keys matched to constructor parameter names. Types auto-cast for scalars. Parameters with defaults are optional. Cached per section+class.
Nested DTOs
When a constructor parameter is typed as a class and the matching value is an array, the array is recursively hydrated into that class. One section can drive multiple typed sub-DTOs:
Recursion is unbounded — multi-level nesting works the same way. Missing inner keys throw InvalidArgumentException (unless the parameter has a default).
Caching
Skip parsing in production:
Full API
Architecture
Testing
The package is standalone-testable:
License
MIT.
This repository is a read-only mirror, generated by CI from phpdot/monorepo. Pull requests and issues belong in the monorepo.