Issues (105)

src/Route/Traits/HasParserTrait.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Nip\Router\Route\Traits;
4
5
use Nip\Router\Parsers\AbstractParser;
6
7
/**
8
 * Class HasParserTrait
9
 * @package Nip\Router\Route\Traits
10
 */
11
trait HasParserTrait
12
{
13
    protected $parser = null;
14
15
16
    /**
17
     * @return AbstractParser
18
     */
19 3
    public function getParser()
20
    {
21 3
        if ($this->parser === null) {
22 3
            $this->initParser();
23
        }
24
25
        return $this->parser;
26
    }
27
28
    /**
29
     * @param $class
30
     * @return $this
31
     */
32
    public function setParser($class)
33
    {
34
        $this->parser = $class;
35
36
        return $this;
37
    }
38
39 3
    public function initParser()
40
    {
41 3
        $class = $this->getParserClass();
42
        $parser = new $class;
43
        $this->setParser($parser);
44
    }
45
46
    /**
47
     * @return string
48
     */
49 3
    public function getParserClass()
50
    {
51 3
        return 'Nip\Router\Parsers\\' . inflector()->camelize($this->getType());
0 ignored issues
show
It seems like getType() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

51
        return 'Nip\Router\Parsers\\' . inflector()->camelize($this->/** @scrutinizer ignore-call */ getType());
Loading history...
52
    }
53
}
54