Completed
Push — master ( 7a1429...168b0d )
by Chris
02:39
created

SmartyViewService   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
c 1
b 0
f 0
lcom 0
cbo 1
dl 0
loc 28
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B register() 0 25 1
1
<?php
2
namespace Darya\Service\Provider;
3
4
use Darya\Service\Contracts\Container;
5
use Darya\Service\Contracts\Provider;
6
use Darya\Smarty\ViewResolver;
7
8
/**
9
 * A service provider that provides a Smarty view resolver.
10
 * 
11
 * @author Chris Andrew <[email protected]>
12
 */
13
class SmartyViewService implements Provider
14
{
15
    public function register(Container $container)
16
    {
17
		$container->register(array(
18
            'Darya\Smarty\ViewResolver' => function ($container) {
19
				$config = $container->config;
20
				$basePath = $config['project.base_path'];
21
				$realBasePath = realpath("{$basePath}/views");
22
				
23
                $viewResolver = new ViewResolver('Darya\Smarty\View', $realBasePath);
24
				
25
                $viewResolver->shareConfig(array(
26
                    'base'    => $realBasePath,
27
                    'cache'   => '../storage/cache',
28
                    'compile' => '../storage/views'
29
                ));
30
                
31
                $viewResolver->share(array(
32
                    'config' => $container->config
33
                ));
34
                
35
                return $viewResolver;
36
            },
37
            'Darya\View\Resolver' => 'Darya\Smarty\ViewResolver'
38
        ));
39
    }
40
}
41