Skip to content

Commit 2ced2af

Browse files
Added GetOriginalRepositoryDecorator
1 parent 9312ae3 commit 2ced2af

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ Use:
4545

4646
# ChangeLog
4747

48+
## v0.1.3
49+
50+
* Added getOriginalRepository decorator. Useful while configuring repos thru di container
51+
4852
## v0.1.2
4953

5054
* Added getAliasFor() method
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
namespace CodeMonkeysRu\RepositoryAliasBundle\Service;
3+
4+
class GetOriginalRepositoryDecorator
5+
{
6+
private $repo = null;
7+
8+
public function __construct($creator, $name, $repo)
9+
{
10+
$this->repo = $repo;
11+
if (is_a($this->repo, '\\Symfony\\Component\\DependencyInjection\\ContainerAwareInterface')) {
12+
$this->repo->setContainer($this->creator->getContainer());
13+
}
14+
}
15+
16+
public function getOriginalRepository()
17+
{
18+
return $this->repo;
19+
}
20+
21+
public function __call($method, $args)
22+
{
23+
return call_user_func_array(array($this->repo, $method), $args);
24+
}
25+
}

Service/Repository.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ public function get($repositoryName)
4040
$this->getRepositoryName($repositoryName)
4141
);
4242

43-
$decoratedRepo = new \CodeMonkeysRu\RepositoryAliasBundle\Service\CreationalRepositoryDecorator($this, $repositoryName, $repo);
43+
$decoratedRepo = new \CodeMonkeysRu\RepositoryAliasBundle\Service\GetOriginalRepositoryDecorator($this, $repositoryName, $repo);
44+
$decoratedRepo = new \CodeMonkeysRu\RepositoryAliasBundle\Service\CreationalRepositoryDecorator($this, $repositoryName, $decoratedRepo);
4445
$decoratedRepo = new \CodeMonkeysRu\RepositoryAliasBundle\Service\GetReferenceRepositoryDecorator($this, $repositoryName, $decoratedRepo);
4546

4647
if (is_a($repo, '\\CodeMonkeysRu\\RepositoryAliasBundle\\Entity\\BackloopAwareInterface')) {

0 commit comments

Comments
 (0)