Completed
Push — master ( f4b826...4d0daa )
by Chris
04:52 queued 02:17
created

SmartyViewService::register()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 25
rs 8.8571
cc 1
eloc 15
nc 1
nop 1
1
<?php
2
namespace Darya\Foundation\Providers;
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
}