Generator::renderFile()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
nc 1
nop 4
dl 0
loc 5
rs 10
c 1
b 0
f 0
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