RedirectResolver::resolve()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 15
rs 9.4285
cc 3
eloc 8
nc 3
nop 1
1
<?php
2
3
namespace App\ViewResolver;
4
5
use Core\View\ViewResolverInterface;
6
use App\ViewEngine\RedirectView;
7
8
class RedirectResolver implements ViewResolverInterface
9
{
10
    private $settings = [];
11
12
    public function setViewEngineConfig(array $settings)
13
    {
14
        $this->settings = $settings;
15
    }
16
17
    public function resolve($viewData)
18
    {
19
        if (is_string($viewData) === false) {
20
            return;
21
        }
22
23
        if (preg_match('/^redirect:(.*)/', $viewData, $url) === 0) {
24
            return;
25
        }
26
27
        $view = new RedirectView($this->settings);
28
        $view->file(trim($url[1]));
29
30
        return $view;
31
    }
32
}
33