1 | <?php |
||
8 | class SearchQuery |
||
9 | { |
||
10 | protected $page; |
||
11 | protected $ids = []; |
||
12 | protected $conditions = []; |
||
13 | protected $words = []; |
||
14 | protected $sort; |
||
15 | protected $direction; |
||
16 | |||
17 | /** |
||
18 | * @param array $query |
||
19 | */ |
||
20 | public function __construct(array $query = []) |
||
40 | |||
41 | /** |
||
42 | * Returns the query as string. |
||
43 | * |
||
44 | * @return string |
||
45 | */ |
||
46 | public function getQuery() |
||
65 | |||
66 | /** |
||
67 | * Returns the page number. |
||
68 | * |
||
69 | * @return null|int |
||
70 | */ |
||
71 | public function getPage() |
||
75 | |||
76 | /** |
||
77 | * Set the page. |
||
78 | * |
||
79 | * @param null|int $page |
||
80 | */ |
||
81 | public function setPage($page) |
||
85 | |||
86 | /** |
||
87 | * Returns the first id. |
||
88 | * |
||
89 | * @return string|null |
||
90 | */ |
||
91 | public function getId() |
||
95 | |||
96 | /** |
||
97 | * Returns all ids found. |
||
98 | * |
||
99 | * @return array |
||
100 | */ |
||
101 | public function getIds() |
||
105 | |||
106 | /** |
||
107 | * Set new ids. |
||
108 | * |
||
109 | * @param array $ids |
||
110 | */ |
||
111 | public function setIds(array $ids) |
||
115 | |||
116 | /** |
||
117 | * Returns all words in the query. |
||
118 | * |
||
119 | * @return array |
||
120 | */ |
||
121 | public function getWords() |
||
125 | |||
126 | /** |
||
127 | * Set new words. |
||
128 | * |
||
129 | * @param array $words |
||
130 | */ |
||
131 | public function setWords(array $words) |
||
135 | |||
136 | /** |
||
137 | * Return a condition. |
||
138 | * |
||
139 | * @return array|null |
||
140 | */ |
||
141 | public function getCondition($name) |
||
145 | |||
146 | /** |
||
147 | * Set a new condition. |
||
148 | * |
||
149 | * @param string $name |
||
150 | * @param array $value |
||
151 | */ |
||
152 | public function setCondition($name, array $value) |
||
156 | |||
157 | /** |
||
158 | * Return all conditions. |
||
159 | * |
||
160 | * @return array |
||
161 | */ |
||
162 | public function getConditions() |
||
166 | |||
167 | /** |
||
168 | * Return the sort field. |
||
169 | * |
||
170 | * @return string|null |
||
171 | */ |
||
172 | public function getSort() |
||
176 | |||
177 | /** |
||
178 | * Return the sort direction in UPPERCASE. |
||
179 | * |
||
180 | * @return string|null |
||
181 | */ |
||
182 | public function getDirection() |
||
186 | |||
187 | /** |
||
188 | * Split a query in pieces. |
||
189 | * |
||
190 | * @param string $query |
||
191 | * |
||
192 | * @return array |
||
193 | */ |
||
194 | protected function parseQuery($query) |
||
221 | } |
||
222 |