ViewPdfRenderer   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
c 2
b 0
f 0
lcom 0
cbo 2
dl 0
loc 26
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A createService() 0 23 3
1
<?php
2
/**
3
 * Pdf view renderer file
4
 *
5
 * @author     Leandro Silva <[email protected]>
6
 * @category   LosPdf
7
 * @license    https://github.com/Lansoweb/LosPdf/blob/master/LICENSE BSD-3 License
8
 * @link       http://github.com/LansoWeb/LosPdf
9
 */
10
namespace LosPdf\Model;
11
12
use Zend\ServiceManager\FactoryInterface;
13
use Zend\ServiceManager\ServiceLocatorInterface;
14
use LosPdf\View\Renderer\MpdfRenderer;
15
16
/**
17
 * Pdf view renderer class
18
 *
19
 * @author     Leandro Silva <[email protected]>
20
 * @category   LosPdf
21
 * @license    https://github.com/Lansoweb/LosPdf/blob/master/LICENSE BSD-3 License
22
 * @link       http://github.com/LansoWeb/LosPdf
23
 */
24
class ViewPdfRenderer implements FactoryInterface
25
{
26
    public function createService(ServiceLocatorInterface $serviceLocator)
27
    {
28
        /* @var $viewResolver \Zend\View\Resolver\AggregateResolver */
29
        $viewResolver = $serviceLocator->get('ViewResolver');
30
        
31
        /* @var $viewRenderer \Zend\View\Renderer\PhpRenderer */
32
        $viewRenderer = $serviceLocator->get('ViewRenderer');
33
34
        if ($viewRenderer == null) {
35
            $viewManager = $serviceLocator->get('ViewManager');
36
            if (!method_exists($viewManager, 'getRenderer')) {
37
                throw new \RuntimeException('Unable to find a Renderer');
38
            }
39
            $viewRenderer = $viewManager->getRenderer();
40
        }
41
42
        //Later, this will be an option in config (mpdf, dompdf, etc)
43
        $pdfRenderer = new MpdfRenderer();
44
        $pdfRenderer->setResolver($viewResolver);
45
        $pdfRenderer->setRenderer($viewRenderer);
46
47
        return $pdfRenderer;
48
    }
49
}
50