Join::__invoke()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 3
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace BfwSql\Queries\Parts;
4
5
class Join extends Table
6
{
7
    /**
8
     * @var string $on The on condition used for a join
9
     */
10
    protected $on = '';
11
    
12
    /**
13
     * Getter accessor to property on
14
     * 
15
     * @return string
16
     */
17
    public function getOn(): string
18
    {
19
        return $this->on;
20
    }
21
    
22
    /**
23
     * Magic method __invoke, used when the user call object like a function
24
     * @link http://php.net/manual/en/language.oop5.magic.php#object.invoke
25
     * 
26
     * @param string|array $nameInfos The name (and shortcut) of the table
27
     * @param string|array|null $columns Columns of this table to use
28
     *  into the request
29
     * @param string $on The ON condition used by the join
30
     * 
31
     * @return void
32
     */
33
    public function __invoke($nameInfos, $columns = null, string $on = '')
34
    {
35
        parent::__invoke($nameInfos, $columns);
36
        $this->on = $on;
37
    }
38
    
39
    /**
40
     * {@inheritdoc}
41
     */
42
    public function generate(): string
43
    {
44
        return $this->querySystem
45
            ->getQuerySgbd()
46
            ->join($this->name, $this->shortcut, $this->on)
47
        ;
48
    }
49
}
50