Conditions | 1 |
Paths | 1 |
Total Lines | 325 |
Code Lines | 307 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
270 | public function formatQueries() |
||
271 | { |
||
272 | return [ |
||
273 | 'empty' => [ |
||
274 | 'query' => '', |
||
275 | 'text' => '', |
||
276 | 'cli' => "\x1b[0m", |
||
277 | 'html' => '', |
||
278 | ], |
||
279 | 'minimal' => [ |
||
280 | 'query' => 'select 1', |
||
281 | 'text' => 'SELECT' . "\n" . |
||
282 | ' 1', |
||
283 | 'cli' => "\x1b[35mSELECT\n" . |
||
284 | " \x1b[92m1\x1b[0m", |
||
285 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
286 | ' <span class="sql-number">1</span>', |
||
287 | ], |
||
288 | 'simply' => [ |
||
289 | 'query' => 'select * from tbl where 1', |
||
290 | 'text' => 'SELECT' . "\n" . |
||
291 | ' *' . "\n" . |
||
292 | 'FROM' . "\n" . |
||
293 | ' tbl' . "\n" . |
||
294 | 'WHERE' . "\n" . |
||
295 | ' 1', |
||
296 | 'cli' => "\x1b[35mSELECT\n" . |
||
297 | " \x1b[39m*\n" . |
||
298 | "\x1b[35mFROM\n" . |
||
299 | " \x1b[39mtbl\n" . |
||
300 | "\x1b[35mWHERE\n" . |
||
301 | " \x1b[92m1\x1b[0m", |
||
302 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
303 | ' *<br/>' . |
||
304 | '<span class="sql-reserved">FROM</span><br/>' . |
||
305 | ' tbl<br/>' . |
||
306 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
307 | ' <span class="sql-number">1</span>', |
||
308 | ], |
||
309 | 'typical' => [ |
||
310 | 'query' => 'SELECT id, if(id=1,"Si","No") from `tbl` where id = 0 or ' . |
||
311 | 'id = 1 group by id order by id desc limit 1 offset 0', |
||
312 | 'text' => 'SELECT' . "\n" . |
||
313 | ' id,' . "\n" . |
||
314 | ' IF(id = 1, "Si", "No")' . "\n" . |
||
315 | 'FROM' . "\n" . |
||
316 | ' `tbl`' . "\n" . |
||
317 | 'WHERE' . "\n" . |
||
318 | ' id = 0 OR id = 1' . "\n" . |
||
319 | 'GROUP BY' . "\n" . |
||
320 | ' id' . "\n" . |
||
321 | 'ORDER BY' . "\n" . |
||
322 | ' id' . "\n" . |
||
323 | 'DESC' . "\n" . |
||
324 | 'LIMIT 1 OFFSET 0', |
||
325 | 'cli' => "\x1b[35mSELECT\n" . |
||
326 | " \x1b[39mid,\n" . |
||
327 | " \x1b[35mIF\x1b[39m(id = \x1b[92m1\x1b[39m, \x1b[91m\"Si\"\x1b[39m, \x1b[91m\"No\"\x1b[39m)\n" . |
||
328 | "\x1b[35mFROM\n" . |
||
329 | " \x1b[36m`tbl`\n" . |
||
330 | "\x1b[35mWHERE\n" . |
||
331 | " \x1b[39mid = \x1b[92m0 \x1b[35mOR \x1b[39mid = \x1b[92m1\n" . |
||
332 | "\x1b[35mGROUP BY\n" . |
||
333 | " \x1b[39mid\n" . |
||
334 | "\x1b[35mORDER BY\n" . |
||
335 | " \x1b[39mid\n" . |
||
336 | "\x1b[35mDESC\n" . |
||
337 | "LIMIT \x1b[92m1 \x1b[95mOFFSET \x1b[92m0\x1b[0m", |
||
338 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
339 | ' id,<br/>' . |
||
340 | ' <span class="sql-reserved">IF</span>(id = ' . |
||
341 | '<span class="sql-number">1</span>, <span class="sql-string">"Si"</span>, ' . |
||
342 | '<span class="sql-string">"No"</span>)<br/>' . |
||
343 | '<span class="sql-reserved">FROM</span><br/>' . |
||
344 | ' <span class="sql-variable">`tbl`</span><br/>' . |
||
345 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
346 | ' id = <span class="sql-number">0</span> ' . |
||
347 | '<span class="sql-reserved">OR</span> id = <span class="sql-number">1</span><br/>' . |
||
348 | '<span class="sql-reserved">GROUP BY</span><br/>' . |
||
349 | ' id<br/>' . |
||
350 | '<span class="sql-reserved">ORDER BY</span><br/>' . |
||
351 | ' id<br/>' . |
||
352 | '<span class="sql-reserved">DESC</span><br/>' . |
||
353 | '<span class="sql-reserved">LIMIT</span> <span class="sql-number">1</span> ' . |
||
354 | '<span class="sql-keyword">OFFSET</span> <span class="sql-number">0</span>', |
||
355 | ], |
||
356 | 'comments' => [ |
||
357 | 'query' => 'select /* Comment */ *' . "\n" . |
||
358 | 'from tbl # Comment' . "\n" . |
||
359 | 'where 1 -- Comment', |
||
360 | 'text' => 'SELECT' . "\n" . |
||
361 | ' /* Comment */ *' . "\n" . |
||
362 | 'FROM' . "\n" . |
||
363 | ' tbl # Comment' . "\n" . |
||
364 | 'WHERE' . "\n" . |
||
365 | ' 1 -- Comment', |
||
366 | 'cli' => "\x1b[35mSELECT\n" . |
||
367 | " \x1b[37m/* Comment */ \x1b[39m*\n" . |
||
368 | "\x1b[35mFROM\n" . |
||
369 | " \x1b[39mtbl \x1b[37m# Comment\n" . |
||
370 | "\x1b[35mWHERE\n" . |
||
371 | " \x1b[92m1 \x1b[37m-- Comment\x1b[0m", |
||
372 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
373 | ' <span class="sql-comment">/* Comment */</span> *<br/>' . |
||
374 | '<span class="sql-reserved">FROM</span><br/>' . |
||
375 | ' tbl <span class="sql-comment"># Comment</span><br/>' . |
||
376 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
377 | ' <span class="sql-number">1</span> ' . |
||
378 | '<span class="sql-comment">-- Comment</span>', |
||
379 | ], |
||
380 | 'strip comments' => [ |
||
381 | 'query' => 'select /* Comment */ *' . "\n" . |
||
382 | 'from tbl # Comment' . "\n" . |
||
383 | 'where 1 -- Comment', |
||
384 | 'text' => 'SELECT' . "\n" . |
||
385 | ' *' . "\n" . |
||
386 | 'FROM' . "\n" . |
||
387 | ' tbl' . "\n" . |
||
388 | 'WHERE' . "\n" . |
||
389 | ' 1', |
||
390 | 'cli' => "\x1b[35mSELECT\n" . |
||
391 | " \x1b[39m*\n" . |
||
392 | "\x1b[35mFROM\n" . |
||
393 | " \x1b[39mtbl\n" . |
||
394 | "\x1b[35mWHERE\n" . |
||
395 | " \x1b[92m1\x1b[0m", |
||
396 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
397 | ' *<br/>' . |
||
398 | '<span class="sql-reserved">FROM</span><br/>' . |
||
399 | ' tbl<br/>' . |
||
400 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
401 | ' <span class="sql-number">1</span>', |
||
402 | 'options' => ['remove_comments' => true], |
||
403 | ], |
||
404 | 'keywords' => [ |
||
405 | 'query' => 'select hex("1")', |
||
406 | 'text' => 'SELECT' . "\n" . |
||
407 | ' HEX("1")', |
||
408 | 'cli' => "\x1b[35mSELECT\n" . |
||
409 | " \x1b[95mHEX\x1b[39m(\x1b[91m\"1\"\x1b[39m)\x1b[0m", |
||
410 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
411 | ' <span class="sql-keyword">HEX</span>(<span class="sql-string">"1"</span>)', |
||
412 | ], |
||
413 | 'distinct count' => [ |
||
414 | 'query' => 'select distinct count(*)', |
||
415 | 'text' => 'SELECT DISTINCT' . "\n" . |
||
416 | ' COUNT(*)', |
||
417 | 'cli' => "\x1b[35mSELECT DISTINCT\n" . |
||
418 | " \x1b[95mCOUNT\x1b[39m(*)\x1b[0m", |
||
419 | 'html' => '<span class="sql-reserved">SELECT</span> <span class="sql-reserved">DISTINCT</span><br/>' . |
||
420 | ' <span class="sql-keyword">COUNT</span>(*)', |
||
421 | ], |
||
422 | 'create procedure' => [ |
||
423 | 'query' => 'create procedure test_procedure() begin from tbl select *; end', |
||
424 | 'text' => 'CREATE PROCEDURE test_procedure()' . "\n" . |
||
425 | 'BEGIN' . "\n" . |
||
426 | ' FROM' . "\n" . |
||
427 | ' tbl' . "\n" . |
||
428 | ' SELECT' . "\n" . |
||
429 | ' *;' . "\n" . |
||
430 | 'END', |
||
431 | 'cli' => "\x1b[35mCREATE PROCEDURE \x1b[39mtest_procedure()\n" . |
||
432 | "\x1b[95mBEGIN\n" . |
||
433 | " \x1b[35mFROM\n" . |
||
434 | " \x1b[39mtbl\n" . |
||
435 | " \x1b[35mSELECT\n" . |
||
436 | " \x1b[39m*;\n" . |
||
437 | "\x1b[95mEND\x1b[0m", |
||
438 | 'html' => '<span class="sql-reserved">CREATE</span> ' . |
||
439 | '<span class="sql-reserved">PROCEDURE</span> test_procedure()<br/>' . |
||
440 | '<span class="sql-keyword">BEGIN</span><br/>' . |
||
441 | ' <span class="sql-reserved">FROM</span><br/>' . |
||
442 | ' tbl<br/>' . |
||
443 | ' <span class="sql-reserved">SELECT</span><br/>' . |
||
444 | ' *;<br/>' . |
||
445 | '<span class="sql-keyword">END</span>', |
||
446 | ], |
||
447 | 'insert' => [ |
||
448 | 'query' => 'insert into foo values (0, 0, 0), (1, 1, 1)', |
||
449 | 'text' => 'INSERT INTO foo' . "\n" . |
||
450 | 'VALUES(0, 0, 0),(1, 1, 1)', |
||
451 | 'cli' => "\x1b[35mINSERT INTO \x1b[39mfoo\n" . |
||
452 | "\x1b[35mVALUES\x1b[39m(\x1b[92m0\x1b[39m, \x1b[92m0\x1b[39m, " . |
||
453 | "\x1b[92m0\x1b[39m),(\x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m)\x1b[0m", |
||
454 | 'html' => '<span class="sql-reserved">INSERT</span> <span class="sql-reserved">INTO</span> foo<br/>' . |
||
455 | '<span class="sql-reserved">VALUES</span>(<span class="sql-number">0</span>, ' . |
||
456 | '<span class="sql-number">0</span>, <span class="sql-number">0</span>),(' . |
||
457 | '<span class="sql-number">1</span>, <span class="sql-number">1</span>, ' . |
||
458 | '<span class="sql-number">1</span>)', |
||
459 | ], |
||
460 | 'string as alias' => [ |
||
461 | 'query' => 'select "Text" as bar', |
||
462 | 'text' => 'SELECT' . "\n" . |
||
463 | ' "Text" AS bar', |
||
464 | 'cli' => "\x1b[35mSELECT\n" . |
||
465 | " \x1b[91m\"Text\" \x1b[35mAS \x1b[39mbar\x1b[0m", |
||
466 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
467 | ' <span class="sql-string">"Text"</span> ' . |
||
468 | '<span class="sql-reserved">AS</span> bar', |
||
469 | ], |
||
470 | 'escape cli' => [ |
||
471 | 'query' => "select 'text\x1b[33mcolor-inj'", |
||
472 | 'text' => 'SELECT' . "\n" . |
||
473 | " 'text\x1B[33mcolor-inj'", |
||
474 | 'cli' => "\x1b[35mSELECT\n" . |
||
475 | " \x1b[91m'text\\x1B[33mcolor-inj'\x1b[0m", |
||
476 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
477 | ' <span class="sql-string">\'text' . "\x1b[33m" . 'color-inj\'</span>', |
||
478 | ], |
||
479 | 'escape html' => [ |
||
480 | 'query' => "select '<s>xss' from `<s>xss` , <s>nxss /*s<s>xss*/", |
||
481 | 'text' => 'SELECT' . "\n" . |
||
482 | ' \'<s>xss\'' . "\n" . |
||
483 | 'FROM' . "\n" . |
||
484 | ' `<s>xss`,' . "\n" . |
||
485 | ' < s > nxss /*s<s>xss*/', |
||
486 | 'cli' => "\x1b[35mSELECT\n" . |
||
487 | " \x1b[91m'<s>xss'\n" . |
||
488 | "\x1b[35mFROM\n" . |
||
489 | " \x1b[36m`<s>xss`\x1b[39m,\n" . |
||
490 | " < s > nxss \x1b[37m/*s<s>xss*/\x1b[0m", |
||
491 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
492 | ' <span class="sql-string">\'<s>xss\'</span><br/>' . |
||
493 | '<span class="sql-reserved">FROM</span><br/>' . |
||
494 | ' <span class="sql-variable">`<s>xss`</span>,' . |
||
495 | '<br/> < s > nxss <span class="sql-comment">/*s<s>xss*/</span>', |
||
496 | ], |
||
497 | 'create table' => [ |
||
498 | 'query' => 'create table if not exists `pma__bookmark` (' . "\n" . |
||
499 | '`id` int(11) not null auto_increment,' . "\n" . |
||
500 | '`dbase` varchar(255) not null default "",' . "\n" . |
||
501 | '`user` varchar(255) not null default "",' . "\n" . |
||
502 | '`label` varchar(255) collate utf8_general_ci not null default "",' . "\n" . |
||
503 | '`query` text not null,' . "\n" . |
||
504 | 'primary key (`id`)', |
||
505 | 'text' => 'CREATE TABLE IF NOT EXISTS `pma__bookmark`(' . "\n" . |
||
506 | ' `id` INT(11) NOT NULL AUTO_INCREMENT,' . "\n" . |
||
507 | ' `dbase` VARCHAR(255) NOT NULL DEFAULT "",' . "\n" . |
||
508 | ' `user` VARCHAR(255) NOT NULL DEFAULT "",' . "\n" . |
||
509 | ' `label` VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT "",' . "\n" . |
||
510 | ' `query` TEXT NOT NULL,' . "\n" . |
||
511 | ' PRIMARY KEY(`id`)', |
||
512 | 'cli' => "\x1b[35mCREATE TABLE IF NOT EXISTS \x1b[36m`pma__bookmark`\x1b[39m(\n" . |
||
513 | " \x1b[36m`id` \x1b[35mINT\x1b[39m(\x1b[92m11\x1b[39m) " . |
||
514 | "\x1b[35mNOT NULL \x1b[95mAUTO_INCREMENT\x1b[39m,\n" . |
||
515 | " \x1b[36m`dbase` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) " . |
||
516 | "\x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m,\n" . |
||
517 | " \x1b[36m`user` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) " . |
||
518 | "\x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m,\n" . |
||
519 | " \x1b[36m`label` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) " . |
||
520 | "\x1b[35mCOLLATE \x1b[39mutf8_general_ci \x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m,\n" . |
||
521 | " \x1b[36m`query` \x1b[95mTEXT \x1b[35mNOT NULL\x1b[39m,\n" . |
||
522 | " \x1b[35mPRIMARY KEY\x1b[39m(\x1b[36m`id`\x1b[39m)\x1b[0m", |
||
523 | 'html' => '<span class="sql-reserved">CREATE</span> <span class="sql-reserved">TABLE</span> ' . |
||
524 | '<span class="sql-reserved">IF NOT EXISTS</span> <span class="sql-variable">' . |
||
525 | '`pma__bookmark`</span>(<br/>' . |
||
526 | ' <span class="sql-variable">`id`</span> ' . |
||
527 | '<span class="sql-reserved">INT</span>(<span class="sql-number">11</span>) ' . |
||
528 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-keyword">AUTO_INCREMENT</span>,<br/>' . |
||
529 | ' <span class="sql-variable">`dbase`</span> ' . |
||
530 | '<span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) ' . |
||
531 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> ' . |
||
532 | '<span class="sql-string">""</span>,<br/>' . |
||
533 | ' <span class="sql-variable">`user`</span> ' . |
||
534 | '<span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) ' . |
||
535 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> ' . |
||
536 | '<span class="sql-string">""</span>,<br/>' . |
||
537 | ' <span class="sql-variable">`label`</span> ' . |
||
538 | '<span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) ' . |
||
539 | '<span class="sql-reserved">COLLATE</span> utf8_general_ci ' . |
||
540 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> ' . |
||
541 | '<span class="sql-string">""</span>,<br/>' . |
||
542 | ' <span class="sql-variable">`query`</span> ' . |
||
543 | '<span class="sql-keyword">TEXT</span> <span class="sql-reserved">NOT NULL</span>,<br/>' . |
||
544 | ' <span class="sql-reserved">' . |
||
545 | 'PRIMARY KEY</span>(<span class="sql-variable">`id`</span>)', |
||
546 | ], |
||
547 | 'join' => [ |
||
548 | 'query' => 'join tbl2 on c1=c2', |
||
549 | 'text' => 'JOIN tbl2 ON c1 = c2', |
||
550 | 'cli' => "\x1b[35mJOIN \x1b[39mtbl2 \x1b[35mON \x1b[39mc1 = c2" . |
||
551 | "\x1b[0m", |
||
552 | 'html' => '<span class="sql-reserved">JOIN</span> tbl2 <span class="sql-reserved">ON</span> c1 = c2', |
||
553 | ], |
||
554 | 'named param' => [ |
||
555 | 'query' => 'select * from tbl where col = :param', |
||
556 | 'text' => 'SELECT' . "\n" . |
||
557 | ' *' . "\n" . |
||
558 | 'FROM' . "\n" . |
||
559 | ' tbl' . "\n" . |
||
560 | 'WHERE' . "\n" . |
||
561 | ' col = :param', |
||
562 | 'cli' => "\x1b[35mSELECT\n" . |
||
563 | " \x1b[39m*\n" . |
||
564 | "\x1b[35mFROM\n" . |
||
565 | " \x1b[39mtbl\n" . |
||
566 | "\x1b[35mWHERE\n" . |
||
567 | " \x1b[39mcol = \x1b[31m:param\x1b[0m", |
||
568 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
569 | ' *<br/>' . |
||
570 | '<span class="sql-reserved">FROM</span><br/>' . |
||
571 | ' tbl<br/>' . |
||
572 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
573 | ' col = <span class="sql-parameter">:param</span>', |
||
574 | ], |
||
575 | 'anon param' => [ |
||
576 | 'query' => 'select * from tbl where col = ?', |
||
577 | 'text' => 'SELECT' . "\n" . |
||
578 | ' *' . "\n" . |
||
579 | 'FROM' . "\n" . |
||
580 | ' tbl' . "\n" . |
||
581 | 'WHERE' . "\n" . |
||
582 | ' col = ?', |
||
583 | 'cli' => "\x1b[35mSELECT\n" . |
||
584 | " \x1b[39m*\n" . |
||
585 | "\x1b[35mFROM\n" . |
||
586 | " \x1b[39mtbl\n" . |
||
587 | "\x1b[35mWHERE\n" . |
||
588 | " \x1b[39mcol = \x1b[31m?\x1b[0m", |
||
589 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
590 | ' *<br/>' . |
||
591 | '<span class="sql-reserved">FROM</span><br/>' . |
||
592 | ' tbl<br/>' . |
||
593 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
594 | ' col = <span class="sql-parameter">?</span>', |
||
595 | ], |
||
599 |