Download the PHP package germania-kg/configreader without Composer
On this page you can find all versions of the php package germania-kg/configreader. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download germania-kg/configreader
More information about germania-kg/configreader
Files in germania-kg/configreader
Package configreader
Short Description Merge default and custom configuration files with Symfony YAML. Supports CacheItemPools.
License MIT
Informations about the package configreader
Germania · ConfigReader
Merge default and custom configuration files with Symfony YAML
Installation
- v2 requires PHP 7.1
- v3.0 requires PHP 7.2+
- v3.1 requires PHP 7.3+
- v3.2 requires PHP 7.4+
Interfaces
The ConfigReaderInterface requires an __invoke method which may be called with an arbitrary number of filename strings:
Usage
YamlConfigReader
The YamlConfigReader implemens ConfigReaderInterface. It internally uses array_replace_recursive. If the given config files do not exist, nothing happens. The return value is an array in any case.
PSR-6 Cache support
The CacheConfigReader also implements ConfigReaderInterface and combines a ConfigReaderInterface instance with PSR-6 Cache functionality.
YAML parsing options
The setYamlFlags method allows to set integer flags to be used by Symfony's YAML component. See official docs for a list of possible values: Symfony YAML component docs.
Ideas for using in config files:
- Yaml::PARSE_CONSTANT for evaluating constants created with
.env
configuration - Yaml::PARSE_DATETIME to save work with string-to-DateTime conversion
Do not use Yaml::PARSE_OBJECT_FOR_MAP as it will break the internal array_replace_recursive call. This is a good topic for future releases.
Excluding results
Given a YAML map like this:
To exclude a certain elements, use setIgnoreKey to set the name of a YAML map item that contains the keys to exclude. The result in our example will not contain neither foo
nor _ignore
. Be careful to not overuse this feature!
Exceptions
When YamlConfigReader stumbles upon a Symfony\Component\Yaml\Exception\ParseException, it will catch it and wrap it in a Germania\ConfigReader\ParseException. This class implements ConfigReaderExceptionInterface you can watch out for:
Development
Unit tests
Either copy phpunit.xml.dist
to phpunit.xml
and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:
The test results logs are in the tests/log
directory.
All versions of configreader with dependencies
psr/log Version ^1.0|^2.0|^3.0
psr/cache Version ^1.0|^2.0|^3.0
symfony/yaml Version ^2.0|^3.0|^4.0|^5.0|^6.0
germania-kg/cachecallable Version ^2.0