PHP SQL Highlighter Class (само за интересуващи се от PHP)

June 28, 2009

Клас, който оцветява SQL заявки. Поредната глупост, която дава TBL на света 😛

Интернет е пълен с подобни. Част от тях не работят, а друга – са твърде големи. За моите цели си написах собствен. Ето примерно оцветяване:

php sql highlighting

Единственото място, където се ползва, е в новия ми туул, който си направих да записва всички по-бавни query-та (текущо над 0.4 сек), да ги групира по вид (примерно 100 заявки с различни тагове или ID-та ги представя като 1) и да ми ги показва цветно, с разни средни стойности.

log tool

Сега ще трябва да си оправям табулациите и употребата на малки-главни букви. Мразя да гледам постоянно подобни неща, а тази заявка е от най-красивите (и една от многото, които за да се изпълни за повече от 0.00 сек е нужно да я хване lock).

Публикувано в: TBL 8 коментара RSS 2.0

Ако постът ви харесва, цъкнете на сърцето:

Коментари

8 коментара на “PHP SQL Highlighter Class (само за интересуващи се от PHP)”

  1. legrandelf on June 29th, 2009 00:31

    Работата е там, че трябва по-малко програмиране в този прекрасен час 🙂

  2. Марто on June 29th, 2009 11:14

    Преди 3-4 години си написах подобно нещо – имам различна концепция за цветовете. Сега след като видях твоя сорс, се чудя как не съм се сетил да го пусна opensource.
    Бтв забеляза ли колко е бавен кода, които си качил? preg_replace не е никак добра идея!

    Ето и един скриин на моя плугин:
    http://marto.lazarov.org/wp-content/uploads/tmp/mysql-debug.png

    Три колонки: първата е номера на заявката, втората е времето за изпълнение (в червено ако е над 10мс – тоест е бавна) и третата е самата заявка, където в червено се маркират основни проблемни места (вероятни причини за по бавно изпълнение).

  3. dzver on June 29th, 2009 11:33

    Не съм го тествал за скорост на изпълнението. Принципно може със STR_REPLACE, с изключение на частта с оцветяването на ‘стринг, щото\’ вътре може да има ескейпната единична кавичка’

  4. Калоян К. Цветков on June 29th, 2009 12:25

    Браво, само му сложи нормална phpDoc документация 😛

  5. Ogre on June 29th, 2009 13:14

    Екстра си е класа, идеален за debug секцията на Tangra framework-а (;-)) само дето е GNU лиценза, а не LGPL и ще трябва да е на отделен модул…
    @марто
    preg_replace е бавен, но това едва ли е проблем ако кода се оцветява само когато има нужда, т.е. когато искаш да го погледнеш – все ще изтърпиш 0,25 сек за превю 😉

  6. dzver on June 29th, 2009 14:01

    @Ogre, приеми го за FREE. Просто google code не приема FREE като лиценз.

    Тая работа с regexp-a е заради \b. Ако не е регексп, трябва да се приложат 2 експлода – по ред и по дума, после с foreach () { foreach() {}} да се цикли и да се търси директно съвпадение с ==.

    С preg за целите на оцветяването на логове е приемливо бавно, 0.5 сек за 2000 реда SQL на натоварен сървър.

  7. Ogre on July 1st, 2009 13:27

    Пасна идеално – сега вече като изгърми някой SQL го оцветява, когато показва exception-a, а това е нещо, което се гласях да направя от години и все не стигах до него…
    На последния preg_replace за words добавих само text-transform: uppercase; към стила – по-четливо става, поне според мен

  8. Ogre on July 1st, 2009 13:29

    Изказвам благодарности за класа + имаш една бира от мен 🙂

Оставете отговор