Skip to content

Commit f7f64e4

Browse files
authored
Update SearchController.php
1 parent 33051a3 commit f7f64e4

File tree

1 file changed

+37
-49
lines changed

1 file changed

+37
-49
lines changed

src/SearchController.php

Lines changed: 37 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -38,49 +38,49 @@ class SearchController{
3838
/**
3939
* @var string SQL Query
4040
*/
41-
private $QueryCondition = "";
41+
private string $QueryCondition = '';
4242

4343
/**
4444
* @var string Search query algorithm that needs to be used
4545
*/
46-
private $searchAlgorithm;
46+
private string $searchAlgorithm;
4747

4848
/**
4949
* @var string Search request query value
5050
*/
51-
private $searchQuery = null;
51+
private mixed $searchQuery = '';
5252

5353
/**
54-
* @var array MYSQL database table rows to search from
54+
* @var array Search request query values
5555
*/
56-
private $paramArray = array();
56+
private array $searchQueryBuilder = [];
5757

5858
/**
59-
* @var string MYSQL database table row for tag value
59+
* @var array MYSQL database table rows to search form
6060
*/
61-
private $paramTags;
61+
private array $paramArray = [];
6262

6363
/**
64-
* @var string SQL LIKE query operator to be use
64+
* @var string MYSQL database table row for tag value
6565
*/
66-
private $operators;
66+
private string $paramTags;
6767

6868
/**
69-
* @var string SQL query prefix
69+
* @var string SQL LIKE query operator to be used
7070
*/
71-
private $queryStart;
71+
private string $operators;
7272

7373
/**
74-
* @var string SQL query suffix
74+
* @var string SQL query prefix
7575
*/
76-
private $queryEnd;
76+
private string $queryStart;
7777

7878
/**
79-
* @var bool Search request query in lowercase
79+
* @var string SQL query suffix
8080
*/
81-
private $lowerCaseQuery = false;
81+
private string $queryEnd;
8282

83-
public function __construct($algorithm = self::OR) {
83+
public function __construct(string $algorithm = self::OR) {
8484
$this->searchAlgorithm = $algorithm;
8585
$this->operators = self::END_WITH_QUERY;
8686
$this->queryStart = self::LIKE;
@@ -92,17 +92,16 @@ public function __construct($algorithm = self::OR) {
9292
*
9393
* @param array $param columns
9494
*/
95-
public function setParameter($param=array()){
95+
public function setParameter(array $param=[]): void{
9696
$this->paramArray = $param;
97-
return $this;
9897
}
9998

10099
/**
101100
* Set initial SQL queries.
102101
*
103102
* @param string $query query
104103
*/
105-
public function setSQLQuery($query){
104+
public function setSQLQuery(string $query): void{
106105
$this->QueryCondition = $query;
107106
}
108107

@@ -111,19 +110,17 @@ public function setSQLQuery($query){
111110
*
112111
* @param string $pattern name
113112
*/
114-
public function setOperators($pattern){
113+
public function setOperators(string $pattern): void{
115114
$this->operators = $pattern;
116-
return $this;
117115
}
118116

119117
/**
120118
* Set database tag table column name.
121119
*
122120
* @param string $column name
123121
*/
124-
public function setTags($column){
122+
public function setTags(string $column): void{
125123
$this->paramTags = $column;
126-
return $this;
127124
}
128125

129126
/**
@@ -132,46 +129,37 @@ public function setTags($column){
132129
* @param string $query query value
133130
* @return object|SearchController
134131
*/
135-
public function setQuery($query){
136-
$this->searchQuery = htmlspecialchars($query, ENT_QUOTES, "UTF-8");
137-
return $this;
138-
}
139-
140-
public function toLower(){
141-
$this->lowerCaseQuery = true;
142-
$this->searchQuery = strtolower($this->searchQuery);
132+
public function setQuery(string $query): SearchController{
133+
$this->searchQuery = strtolower(htmlspecialchars($query, ENT_QUOTES, "UTF-8"));
143134
return $this;
144135
}
145136

146137
/**
147138
* Set query prefix string.
148139
*
149-
* @param string $str query prefix
140+
* @param string $start query prefix
150141
*/
151-
public function setStart($str){
152-
$this->queryStart = $str;
153-
return $this;
142+
public function setStart(string $start): void{
143+
$this->queryStart = $start;
154144
}
155145

156146
/**
157147
* Set query suffix string.
158148
*
159-
* @param string $str query suffix
149+
* @param string $end query suffix
160150
*/
161-
public function setEnd($str){
162-
$this->queryEnd = $str;
163-
return $this;
151+
public function setEnd(string $end): void{
152+
$this->queryEnd = $end;
164153
}
165154

166155
/**
167156
* Split search query value by space.
168157
*/
169-
public function split(){
158+
public function split(): void{
170159
if(strpos($this->searchQuery, " ") !== false) {
171160
$this->searchQuery = explode(" ", $this->searchQuery);
172-
return;
173161
}
174-
$this->searchQuery = [$this->searchQuery];
162+
//$this->searchQuery = [$this->searchQuery];
175163
}
176164

177165
/**
@@ -181,29 +169,29 @@ public function split(){
181169
* @return string query
182170
*/
183171

184-
private function format($value) {
172+
private function format(string $value): string {
185173
$queryString = "";
186174
foreach($this->paramArray as $col){
187175
$sqlQuery = str_replace("query", $value, $this->operators);
188-
$queryString .= ($this->lowerCaseQuery ? "LOWER(" . $col . ")" : $col ) . " {$this->queryStart} '{$sqlQuery}' {$this->queryEnd} ";
176+
$queryString .= "LOWER($col) {$this->queryStart} '{$sqlQuery}' {$this->queryEnd} ";
189177
}
190178
return $queryString;
191179
}
192180

193-
private function buildQuery(){
181+
private function buildQuery(): string{
194182
return rtrim($this->format($this->searchQuery) , " {$this->queryEnd} ");
195183
}
196184

197-
private function buildArrayQuery($i = 0){
185+
private function buildArrayQuery(int $i = 0): string{
198186
return rtrim($this->format($this->searchQuery[$i]) , " {$this->queryEnd} ");;
199187
}
200188

201189
/**
202-
* Determine which search method to use while creating query.
190+
* Determine which search method to use while creating a query.
203191
*
204192
* @return string SQL query
205193
*/
206-
private function buildSQL(){
194+
private function buildSQL(): string{
207195
$sql = "";
208196
if(!empty($this->paramTags)){
209197
if(is_array($this->searchQuery)) {
@@ -235,7 +223,7 @@ private function buildSQL(){
235223
*
236224
* @return string SQL query
237225
*/
238-
public function getQuery(){
226+
public function getQuery(): string{
239227
if (!empty($this->searchQuery)){
240228
if (!empty($this->searchQuery)){
241229
if (!empty($this->QueryCondition)){

0 commit comments

Comments
 (0)