Skip to content

Commit 2e6eb0c

Browse files
authored
Merge pull request #7 from Narno-forks/patch-1
README: Syntax highlighting
2 parents fbc597f + 5eed827 commit 2e6eb0c

File tree

1 file changed

+51
-56
lines changed

1 file changed

+51
-56
lines changed

README.md

Lines changed: 51 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
Dot Access Configuration
2-
========================
1+
# Dot Access Configuration
32

43
Given a deep data structure representing a configuration, access
54
configuration by dot notation.
@@ -8,40 +7,37 @@ This library combines [dflydev/dot-access-data](https://github.com/dflydev/dflyd
87
and [dflydev/placeholder-resolver](https://github.com/dflydev/dflydev-placeholder-resolver)
98
to provide a complete configuration solution.
109

11-
12-
Requirements
13-
------------
10+
## Requirements
1411

1512
* PHP (5.3+)
1613
* [dflydev/dot-access-data](https://github.com/dflydev/dflydev-dot-access-data) (1.*)
1714
* [dflydev/placeholder-resolver](https://github.com/dflydev/dflydev-placeholder-resolver) (1.*)
1815
* [symfony/yaml](https://github.com/symfony/Yaml) (>2,<2.2) *(suggested)*
1916

20-
21-
Usage
22-
-----
17+
## Usage
2318

2419
Generally one will use an implementation of `ConfigurationBuilderInterface`
2520
to build `ConfigurationInterface` instances. For example, to build a Configuration
2621
out of a YAML file, one would use the `YamlFileConfigurationBuilder`:
2722

28-
use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder;
29-
30-
$configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml');
31-
$configuration = $configurationBuilder->build();
23+
```php
24+
use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder;
3225

26+
$configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml');
27+
$configuration = $configurationBuilder->build();
28+
```
3329

3430
Once created, the Configuration instance behaves similarly to a Data
3531
instance from [dflydev/dot-access-data](https://github.com/dflydev/dflydev-dot-access-data).
3632

37-
$configuration->set('a.b.c', 'ABC');
38-
$configuration->get('a.b.c');
39-
$configuration->set('a.b.e', array('A', 'B', 'C'));
40-
$configuration->append('a.b.e', 'D');
41-
33+
```php
34+
$configuration->set('a.b.c', 'ABC');
35+
$configuration->get('a.b.c');
36+
$configuration->set('a.b.e', array('A', 'B', 'C'));
37+
$configuration->append('a.b.e', 'D');
38+
```
4239

43-
Custom Configurations
44-
---------------------
40+
## Custom Configurations
4541

4642
Configuration Builders use Configuration Factories and Placeholder Resolver
4743
Factories behind the scenes in order to build a working configuration.
@@ -57,60 +53,59 @@ with the standard builders, one would need to implement
5753
`ConfigurationBuilderInterface`.
5854

5955
If a Configuration is declared as follows:
56+
```php
57+
namespace MyProject;
6058

61-
namespace MyProject;
62-
63-
use Dflydev\DotAccessConfiguration\Configuration;
64-
65-
class MyConf extends Configuration
59+
use Dflydev\DotAccessConfiguration\Configuration;
60+
61+
class MyConf extends Configuration
62+
{
63+
public function someSpecialMethod()
6664
{
67-
public function someSpecialMethod()
68-
{
69-
// Whatever you want here.
70-
}
65+
// Whatever you want here.
7166
}
67+
}
68+
```
7269

7370
Create the following factory:
71+
```php
72+
namespace MyProject;
73+
74+
use Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface;
7475

75-
namespace MyProject;
76-
77-
use Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface;
78-
79-
class MyConfFactory implements ConfigurationFactoryInterface
76+
class MyConfFactory implements ConfigurationFactoryInterface
77+
{
78+
/**
79+
* {@inheritdocs}
80+
*/
81+
public function create()
8082
{
81-
/**
82-
* {@inheritdocs}
83-
*/
84-
public function create()
85-
{
86-
return new MyConf;
87-
}
83+
return new MyConf;
8884
}
85+
}
86+
```
8987

9088
To use the factory with any builder, inject it as follows:
89+
```php
90+
use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder;
91+
use MyProject\MyConfFactory;
9192

92-
use Dflydev\DotAccessConfiguration\YamlFileConfigurationBuilder;
93-
use MyProject\MyConfFactory;
94-
95-
$configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml');
96-
97-
// Inject your custom Configuration Factory
98-
$configurationBuilder->setConfigurationFactory(new MyConfFactory);
93+
$configurationBuilder = new YamlFileConfigurationBuilder('config/config.yml');
9994

100-
// Will now build instances of MyConfFactory instead of
101-
// the standard Configuration implementation.
102-
$configuration = $configurationBuilder->build();
95+
// Inject your custom Configuration Factory
96+
$configurationBuilder->setConfigurationFactory(new MyConfFactory);
10397

98+
// Will now build instances of MyConfFactory instead of
99+
// the standard Configuration implementation.
100+
$configuration = $configurationBuilder->build();
101+
```
104102

105-
License
106-
-------
103+
## License
107104

108105
This library is licensed under the New BSD License - see the LICENSE file
109106
for details.
110107

111-
112-
Community
113-
---------
108+
## Community
114109

115110
If you have questions or want to help out, join us in the
116-
[#dflydev](irc://irc.freenode.net/#dflydev) channel on irc.freenode.net.
111+
[#dflydev](irc://irc.freenode.net/#dflydev) channel on irc.freenode.net.

0 commit comments

Comments
 (0)