-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathContainerFactory.php
41 lines (32 loc) · 1016 Bytes
/
ContainerFactory.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
namespace OxidEsales\EshopCommunity\Internal\Container;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
class ContainerFactory {
/**
* @return ContainerFactory
*/
public static function getInstance()
{
static $instance = null;
if ($instance === null) {
$instance = new self;
}
return $instance;
}
/**
* @return \Symfony\Component\DependencyInjection\ContainerInterface
*/
public function getContainer() {
static $container = null;
if ($container === null) {
$container = new ContainerBuilder();
$loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../../../../'));
$loader->load('tests/services.yaml');
$loader->load('services.yaml');
$container->compile();
}
return $container;
}
}