Factory::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Isolate\LazyObjects\Proxy\Adapter\OcramiusProxyManager;
4
5
use Isolate\LazyObjects\Object\PropertyAccessor;
6
use Isolate\LazyObjects\Object\Value\AssemblerFactory;
7
use Isolate\LazyObjects\Proxy\Adapter\OcramiusProxyManager\Factory\LazyObjectsFactory;
8
use Isolate\LazyObjects\Proxy\Definition;
9
use Isolate\LazyObjects\Proxy\Factory as BaseFactory;
10
11
class Factory implements BaseFactory
12
{
13
    /**
14
     * @var LazyObjectsFactory
15
     */
16
    private $lazyObjectsFactory;
17
18
    /**
19
     * @param LazyObjectsFactory $lazyObjectFactory
20
     */
21
    public function __construct(LazyObjectsFactory $lazyObjectFactory)
22
    {
23
        $this->lazyObjectsFactory = $lazyObjectFactory;
24
    }
25
26
    /**
27
     * @param $object
28
     * @param Definition $definition
29
     * @return \Isolate\LazyObjects\WrappedObject $object
30
     */
31
    public function createProxy($object, Definition $definition)
32
    {
33
        return $this->lazyObjectsFactory->createProxy(
34
            $object,
35
            $definition->getLazyProperties(),
36
            $definition->getMethodReplacements()
37
        );
38
    }
39
}
40