QueryStatement::getBindParams()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * Author: Adrian Dumitru
5
 * Date: 4/22/2017 4:16 AM
6
 */
7
8
namespace Qpdb\QueryBuilder\Statements;
9
10
11
use Qpdb\QueryBuilder\Dependencies\QueryException;
12
use Qpdb\QueryBuilder\Dependencies\QueryStructure;
13
use Qpdb\QueryBuilder\QueryBuild;
14
use Qpdb\QueryBuilder\Traits\ColumnValidation;
15
use Qpdb\QueryBuilder\Traits\TableValidation;
16
use Qpdb\QueryBuilder\Traits\Utilities;
17
18
abstract class QueryStatement
19
{
20
21
	use Utilities, TableValidation, ColumnValidation;
22
23
24
	/**
25
	 * Statements
26
	 */
27
	const QUERY_STATEMENT_SELECT = 'SELECT';
28
	const QUERY_STATEMENT_UPDATE = 'UPDATE';
29
	const QUERY_STATEMENT_DELETE = 'DELETE';
30
	const QUERY_STATEMENT_INSERT = 'INSERT';
31
	const QUERY_STATEMENT_CUSTOM = 'CUSTOM';
32
33
34
	/**
35
	 * @var string
36
	 */
37
	protected $statement;
38
39
	/**
40
	 * @var QueryBuild
41
	 */
42
	protected $queryBuild;
43
44
	/**
45
	 * @var QueryStructure
46
	 */
47
	protected $queryStructure;
48
49
	/**
50
	 * @var array
51
	 */
52
	protected $usedInstanceIds = [];
53
54
	/**
55
	 * @var string
56
	 */
57
	protected $tablePrefix;
58
59
60
	/**
61
	 * QueryStatement constructor.
62
	 * @param QueryBuild $queryBuild
63
	 * @param string|QuerySelect $table
64
	 * @throws QueryException
65
	 */
66
	public function __construct( QueryBuild $queryBuild, $table = '' )
67
	{
68
69
		$table = $this->validateTable( $table );
70
71
		$this->queryBuild = $queryBuild;
72
		$this->queryStructure = new QueryStructure();
73
		$this->queryStructure->setElement( QueryStructure::TABLE, $table );
74
		$this->queryStructure->setElement( QueryStructure::STATEMENT, $this->statement );
75
		$this->queryStructure->setElement( QueryStructure::QUERY_TYPE, $this->queryBuild->getType() );
76
77
	}
78
79
	/**
80
	 * @return mixed
81
	 */
82
	public function getBindParams()
83
	{
84
		return $this->queryStructure->getElement( QueryStructure::BIND_PARAMS );
85
	}
86
87
88
}