@@ -167,18 +167,11 @@ public function rollBack()
167167 /**
168168 * Generates and executes SQL query.
169169 * @param string
170- * @param mixed [parameters, ...]
171170 * @return ResultSet
172171 */
173- public function query ($ sql )
172+ public function query ($ sql, ... $ params )
174173 {
175- $ this ->connect ();
176-
177- $ args = is_array ($ sql ) ? $ sql : func_get_args (); // accepts arrays only internally
178- list ($ sql , $ params ) = count ($ args ) > 1
179- ? $ this ->preprocessor ->process ($ args )
180- : [$ args [0 ], []];
181-
174+ list ($ sql , $ params ) = $ this ->preprocess ($ sql , ...$ params );
182175 try {
183176 $ result = new ResultSet ($ this , $ sql , $ params );
184177 } catch (PDOException $ e ) {
@@ -196,18 +189,17 @@ public function query($sql)
196189 */
197190 public function queryArgs ($ sql , array $ params )
198191 {
199- array_unshift ($ params , $ sql );
200- return $ this ->query ($ params );
192+ return $ this ->query ($ sql , ...$ params );
201193 }
202194
203195
204196 /**
205197 * @return [string, array]
206198 */
207- public function preprocess ($ sql )
199+ public function preprocess ($ sql, ... $ params )
208200 {
209201 $ this ->connect ();
210- return func_num_args () > 1
202+ return $ params
211203 ? $ this ->preprocessor ->process (func_get_args ())
212204 : [$ sql , []];
213205 }
@@ -219,57 +211,52 @@ public function preprocess($sql)
219211 /**
220212 * Shortcut for query()->fetch()
221213 * @param string
222- * @param mixed [parameters, ...]
223214 * @return Row
224215 */
225- public function fetch ($ args )
216+ public function fetch ($ sql , ... $ params )
226217 {
227- return $ this ->query (func_get_args () )->fetch ();
218+ return $ this ->query ($ sql , ... $ params )->fetch ();
228219 }
229220
230221
231222 /**
232223 * Shortcut for query()->fetchField()
233224 * @param string
234- * @param mixed [parameters, ...]
235225 * @return mixed
236226 */
237- public function fetchField ($ args )
227+ public function fetchField ($ sql , ... $ params )
238228 {
239- return $ this ->query (func_get_args () )->fetchField ();
229+ return $ this ->query ($ sql , ... $ params )->fetchField ();
240230 }
241231
242232
243233 /**
244234 * Shortcut for query()->fetchPairs()
245235 * @param string
246- * @param mixed [parameters, ...]
247236 * @return array
248237 */
249- public function fetchPairs ($ args )
238+ public function fetchPairs ($ sql , ... $ params )
250239 {
251- return $ this ->query (func_get_args () )->fetchPairs ();
240+ return $ this ->query ($ sql , ... $ params )->fetchPairs ();
252241 }
253242
254243
255244 /**
256245 * Shortcut for query()->fetchAll()
257246 * @param string
258- * @param mixed [parameters, ...]
259247 * @return array
260248 */
261- public function fetchAll ($ args )
249+ public function fetchAll ($ sql , ... $ params )
262250 {
263- return $ this ->query (func_get_args () )->fetchAll ();
251+ return $ this ->query ($ sql , ... $ params )->fetchAll ();
264252 }
265253
266254
267255 /**
268256 * @return SqlLiteral
269257 */
270- public static function literal ($ value )
258+ public static function literal ($ value, ... $ params )
271259 {
272- $ args = func_get_args ();
273- return new SqlLiteral (array_shift ($ args ), $ args );
260+ return new SqlLiteral ($ value , $ params );
274261 }
275262}
0 commit comments