zendframework/zend-config
zendframework/zend-config provides configuration management for PHP apps: load settings from multiple formats (PHP arrays, INI, JSON, XML, YAML), merge/override environments, and access values via a simple object/array API. Part of the Zend Framework component set.
#47 adds Zend\Config\Writer\JavaProperties, a complement to
Zend\Config\Reader\JavaProperties, for writing JavaProperties files from configuration. The writer supports
specifying an alternate key/value delimiter (the default is ":") via the constructor.
#46 adds a constructor option to the JavaProperties reader to allow users to indicate keys and values from the configuration should be trimmed of whitespace:
$reader = new JavaProperties(
JavaProperties::DELIMITER_DEFAULT, // or ":"
JavaProperties::WHITESPACE_TRIM, // or true; default is false
);
#45 adds the ability to specify an alternate key/value delimiter to
the JavaProperties config reader via the constructor: $reader = new JavaProperties("=");.
#42 adds support for PHP 7.1 and 7.2.
enableKeyProcessing(), and constructor argument, $enableKeyProcessing = false, to each of the Token and Constant processors. These allow enabling processing of tokens and/or constants encountered in configuration key values.Constant processor to process class constants, including the ::class pseudo-constant.Zend\Config\StandaloneReaderPluginManager for managing config reader plugins. This implementation implements the PSR-11 ContainerInterface, and uses a hard-coded list of reader plugins.Zend\Config\StandaloneWriterPluginManager for managing config writer plugins. This implementation implements the PSR-11 ContainerInterface, and uses a hard-coded list of writer plugins.Zend\Config\Factory::getReaderPluginManager() method to lazy-load a StandaloneReaderPluginManager by default, instead of a ReaderPluginManager, allowing usage out-of-the-box without requiring zend-servicemanager.Zend\Config\Factory::setReaderPluginManager() method to typehint against Psr\Container\ContainerInterface instead of ReaderPluginManager. If you were extending and overriding that method, you will need to update your signature.Zend\Config\Factory::getWriterPluginManager() method to lazy-load a StandaloneWriterPluginManager by default, instead of a WriterPluginManager, allowing usage out-of-the-box without requiring zend-servicemanager.Zend\Config\Factory::setWriterPluginManager() method to typehint against Psr\Container\ContainerInterface instead of WriterPluginManager. If you were extending and overriding that method, you will need to update your signature.PhpArray writer to optionally translate strings that evaluate to known classes to ClassName::class syntax; the feature works for both keys and values.AbstractConfigFactory to implement the new methods in the v3 AbstractFactoryInterface definition, and updating the v2 methods to proxy to those.ReaderPluginManager and WriterPluginManager to follow the changes to AbstractPluginManager. In particular, instead of defining invokables, they now define a combination of aliases and factories (using the new InvokableFactory); additionally, they each now implement both validatePlugin() from v2 and validate() from v3.How can I help you explore Laravel packages today?