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