Generator   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 14
c 1
b 0
f 0
dl 0
loc 31
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A renderFile() 0 5 1
A saveFile() 0 7 2
A render() 0 13 2
1
<?php
2
3
namespace Dtc\GridBundle\Generator;
4
5
use Twig\Environment;
0 ignored issues
show
Bug introduced by
The type Twig\Environment was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use Twig\Loader\FilesystemLoader;
0 ignored issues
show
Bug introduced by
The type Twig\Loader\FilesystemLoader was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
8
class Generator
9
{
10
    protected function render($skeletonDir, $template, $parameters)
11
    {
12
        if (class_exists('Twig\Environment')) {
13
            $environment = new Environment(new FilesystemLoader($skeletonDir), [
14
                'debug' => true,
15
                'cache' => false,
16
                'strict_variables' => true,
17
                'autoescape' => false,
18
            ]);
19
20
            return $environment->render($template, $parameters);
21
        }
22
        throw new \Exception("Class not found: Twig\Environment");
23
    }
24
25
    protected function renderFile($skeletonDir, $template, $target, $parameters)
26
    {
27
        $output = $this->render($skeletonDir, $template, $parameters);
28
29
        return $this->saveFile($target, $output);
30
    }
31
32
    protected function saveFile($target, $output)
33
    {
34
        if (!is_dir(dirname($target))) {
35
            mkdir(dirname($target), 0777, true);
36
        }
37
38
        return file_put_contents($target, $output);
39
    }
40
}
41