X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=vendor%2Fdflydev%2Fdot-access-configuration%2FREADME.md;h=bf387c68ffbd3e81a4969eb2e171b21dc90ceb7e;hb=5b8bb166bfa98770daef9de5c127fc2e6ef02340;hp=b20c581a3fe087283213302f26fd043c3290b25e;hpb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;p=yaffs-website diff --git a/vendor/dflydev/dot-access-configuration/README.md b/vendor/dflydev/dot-access-configuration/README.md index b20c581a3..bf387c68f 100644 --- a/vendor/dflydev/dot-access-configuration/README.md +++ b/vendor/dflydev/dot-access-configuration/README.md @@ -1,5 +1,4 @@ -Dot Access Configuration -======================== +# Dot Access Configuration Given a deep data structure representing a configuration, access configuration by dot notation. @@ -8,40 +7,37 @@ This library combines [dflydev/dot-access-data](https://github.com/dflydev/dflyd and [dflydev/placeholder-resolver](https://github.com/dflydev/dflydev-placeholder-resolver) to provide a complete configuration solution. - -Requirements ------------- +## Requirements * PHP (5.3+) * [dflydev/dot-access-data](https://github.com/dflydev/dflydev-dot-access-data) (1.*) * [dflydev/placeholder-resolver](https://github.com/dflydev/dflydev-placeholder-resolver) (1.*) * [symfony/yaml](https://github.com/symfony/Yaml) (>2,<2.2) *(suggested)* - -Usage ------ +## Usage Generally one will use an implementation of `ConfigurationBuilderInterface` to build `ConfigurationInterface` instances. For example, to build a Configuration out of a YAML file, one would use the `YamlFileConfigurationBuilder`: - use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder; - - $configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml'); - $configuration = $configurationBuilder->build(); +```php +use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder; +$configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml'); +$configuration = $configurationBuilder->build(); +``` Once created, the Configuration instance behaves similarly to a Data instance from [dflydev/dot-access-data](https://github.com/dflydev/dflydev-dot-access-data). - $configuration->set('a.b.c', 'ABC'); - $configuration->get('a.b.c'); - $configuration->set('a.b.e', array('A', 'B', 'C')); - $configuration->append('a.b.e', 'D'); - +```php +$configuration->set('a.b.c', 'ABC'); +$configuration->get('a.b.c'); +$configuration->set('a.b.e', array('A', 'B', 'C')); +$configuration->append('a.b.e', 'D'); +``` -Custom Configurations ---------------------- +## Custom Configurations Configuration Builders use Configuration Factories and Placeholder Resolver Factories behind the scenes in order to build a working configuration. @@ -57,60 +53,59 @@ with the standard builders, one would need to implement `ConfigurationBuilderInterface`. If a Configuration is declared as follows: +```php +namespace MyProject; - namespace MyProject; - - use Dflydev\DotAccessConfiguration\Configuration; - - class MyConf extends Configuration +use Dflydev\DotAccessConfiguration\Configuration; + +class MyConf extends Configuration +{ + public function someSpecialMethod() { - public function someSpecialMethod() - { - // Whatever you want here. - } + // Whatever you want here. } +} +``` Create the following factory: +```php +namespace MyProject; + +use Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface; - namespace MyProject; - - use Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface; - - class MyConfFactory implements ConfigurationFactoryInterface +class MyConfFactory implements ConfigurationFactoryInterface +{ + /** + * {@inheritdocs} + */ + public function create() { - /** - * {@inheritdocs} - */ - public function create() - { - return new MyConf; - } + return new MyConf; } +} +``` To use the factory with any builder, inject it as follows: +```php +use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder; +use MyProject\MyConfFactory; - use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder; - use MyProject\MyConfFactory; - - $configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml'); - - // Inject your custom Configuration Factory - $configurationBuilder->setConfigurationFactory(new MyConfFactory); +$configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml'); - // Will now build instances of MyConfFactory instead of - // the standard Configuration implementation. - $configuration = $configurationBuilder->build(); +// Inject your custom Configuration Factory +$configurationBuilder->setConfigurationFactory(new MyConfFactory); +// Will now build instances of MyConfFactory instead of +// the standard Configuration implementation. +$configuration = $configurationBuilder->build(); +``` -License -------- +## License This library is licensed under the New BSD License - see the LICENSE file for details. - -Community ---------- +## Community If you have questions or want to help out, join us in the -[#dflydev](irc://irc.freenode.net/#dflydev) channel on irc.freenode.net. \ No newline at end of file +[#dflydev](irc://irc.freenode.net/#dflydev) channel on irc.freenode.net.