Skip to content

Commit 9440a47

Browse files
committed
Merge pull request #38 from dominikzogg/simple-drivers
add simple drivers
2 parents 2392825 + da71d40 commit 9440a47

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,14 @@ $container->register(new DoctrineOrmServiceProvider, array(
8484
"namespace" => "Bat\Entities",
8585
"path" => __DIR__."/src/Bat/Resources/mappings",
8686
),
87+
// XML/YAML driver (Symfony2 style)
88+
// Mapping files can be named like Foo.orm.yml
89+
// instead of Baz.Entities.Foo.dcm.yml
90+
array(
91+
"type" => "simple_yml",
92+
"namespace" => "Baz\Entities",
93+
"path" => __DIR__."/src/Bat/Resources/config/doctrine",
94+
),
8795
),
8896
),
8997
));
@@ -157,8 +165,10 @@ Configuration
157165

158166
Each mapping definition should be an array with the following
159167
options:
160-
* **type**: Mapping driver type, one of `annotation`, `xml`, `yml` or `php`.
168+
* **type**: Mapping driver type, one of `annotation`, `xml`, `yml`, `simple_xml`, `simple_yml` or `php`.
161169
* **namespace**: Namespace in which the entities reside.
170+
171+
*New: the `simple_xml` and `simple_yml` driver types were added in v1.1 and provide support for the [simplified XML driver][8] and [simplified YAML driver][9] of Doctrine.*
162172

163173
Additionally, each mapping definition should contain one of the
164174
following options:
@@ -337,6 +347,8 @@ Some inspiration was also taken from [Doctrine Bundle][4] and
337347
[5]: https://github.com/symfony/symfony/tree/master/src/Symfony/Bridge/Doctrine
338348
[6]: https://packagist.org/packages/dflydev/doctrine-orm-service-provider
339349
[7]: https://github.com/saxulum/saxulum-doctrine-orm-manager-registry-provider
350+
[8]: http://docs.doctrine-project.org/en/latest/reference/xml-mapping.html#simplified-xml-driver
351+
[9]: http://docs.doctrine-project.org/en/latest/reference/yaml-mapping.html#simplified-yaml-driver
340352

341353
[dflydev]: irc://irc.freenode.net/#dflydev
342354
[silex-php]: irc://irc.freenode.net/#silex-php

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## 2.0.x-dev
22

3+
* @dominikzogg: Add Simple driver support (#38)
34
* @andrewshell: Use Pimple\Container instead of Pimple for $configs (#34)
45
* @dominikzogg: Remove Silex tests (#31)
56
* @simensen: Purge PSR-0 Resource Locator

src/Dflydev/Provider/DoctrineOrm/DoctrineOrmServiceProvider.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
use Doctrine\ORM\Mapping\DefaultNamingStrategy;
2929
use Doctrine\ORM\Mapping\DefaultQuoteStrategy;
3030
use Doctrine\ORM\Mapping\Driver\Driver;
31+
use Doctrine\ORM\Mapping\Driver\SimplifiedXmlDriver;
32+
use Doctrine\ORM\Mapping\Driver\SimplifiedYamlDriver;
3133
use Doctrine\ORM\Mapping\Driver\XmlDriver;
3234
use Doctrine\ORM\Mapping\Driver\YamlDriver;
3335
use Doctrine\ORM\Mapping\Driver\StaticPHPDriver;
@@ -167,10 +169,18 @@ public function register(Container $container)
167169
$driver = new YamlDriver($entity['path']);
168170
$chain->addDriver($driver, $entity['namespace']);
169171
break;
172+
case 'simple_yml':
173+
$driver = new SimplifiedYamlDriver(array($entity['path'] => $entity['namespace']));
174+
$chain->addDriver($driver, $entity['namespace']);
175+
break;
170176
case 'xml':
171177
$driver = new XmlDriver($entity['path']);
172178
$chain->addDriver($driver, $entity['namespace']);
173179
break;
180+
case 'simple_xml':
181+
$driver = new SimplifiedXmlDriver(array($entity['path'] => $entity['namespace']));
182+
$chain->addDriver($driver, $entity['namespace']);
183+
break;
174184
case 'php':
175185
$driver = new StaticPHPDriver($entity['path']);
176186
$chain->addDriver($driver, $entity['namespace']);

0 commit comments

Comments
 (0)