Debug Kit – pokročilé debugovanie v CakePHP

publikované: od: Tibor Piňo

Debugovacie nástroje a samotné debugovanie sú dôležitou súčasťou každého vývoja. V dnešnom článku si predstavíme pokročilý debugovací nástroj Debug Kit.

Poďme si najprv priblížiť jednotlivé vlastnosti Debug Kit a následne sa pozrieme na jeho inštaláciu a integráciu s CakePHP aplikáciou.

Debug Kit

Debug Kit predstavuje pokročilý debugovací nástroj, ktorý ponúka množstvo informácií o našej aplikácii a jej stave. Debug Kit dokáže zobraziť podrobné informácie o session, sql, request, timer, premenných atď. Poďme sa teda bližšie pozrieť na jednotlivé vlastnosti tohto nástroja.

Panely

Debug Kit zobrazuje vyššie spomínané debug informácie v paneloch. Na nasledujúcom obrázku môžeme vidieť integráciu Debug Kit do stránky a taktiež základné panely, ktoré ponúka Debug Kit v základnej inštalácii.

debug-kit-2

Medzi základné panely patria: History, Session, Request, Sql Log, Timer, Log, Variables. Poďme si teda bližšie priblížiť jednotlivé možnosti panelov.

Panel History

Panel History zobrazuje informácie o posledných requestoch zobrazením url danej stránky.

debug-kit-1

Panel Session

Panel Session zobrazuje podrobné informácie o uložených Session našou aplikáciou.

debug-kit-3

Panel Request

Panel Request zobrazuje informácie o aktuálnom requeste. Medzi informácie patria GET, POST požiadavky, Cake url parametre (v aplikácii dostupné v poli $this->params), Cookie informácie a podrobné informácie o použitých routovacích pravidlách.

debug-kit-4

Panel SQL Log

Panel SQL Log zobrazuje informácie o spustených sql dotazoch v našej databáze. V podstate sa ničím nelíši od bežného sql výpisu z CakePHP.

debug-kit-5

Panel Timer

Panel Timer zobrazuje podrobné informácie o čase načítavania jednotlivých častí našej aplikácie pre daný request a taktiež množstvo využitej pamäte. Časové informácie sa zobrazujú pre stránku ako celok, ale rovnako aj pre jednotlivé súčasti, ktoré boli generované v danom requeste.

debug-kit-6

Debug Kit nám poskytuje možnosť merať čas pre ľubovoľnú časť kódu. Ako môžeme vidieť na obrázku vyššie, vo výpise sa nachádza položka s názvom Listing of articles. Táto položka meria čas spracovania výpisu článkov v metóde index v controlleri ArticlesController. Kód pre danú položku vyzerá následovne

function index() {
     DebugKitDebugger::startTimer($name = 'articles', $message = 'Listing of articles');
     $this->Article->recursive = 1;
     $this->paginate = array('limit'=>Configure::read('Homepage.articles'),'order' => 'Article.created desc','conditions'=>array('show_on_index'=>1,'visible'=>1,'publish_up<=now()'));         $this->set('articles', $this->paginate());
     DebugKitDebugger::stopTimer($name = 'articles');
}

Panel Log

Panel Log nám zobrazuje informácie zo základných debugovacích nástrojov priamo z CakePHP. Jedná sa o výpisy z logovacích súborov.

debug-kit-7

Panel Variables

Panel Variables zobrazuje podrobné informácie o premenných a ich hodnotách v našej aplikácii, ktoré boli inicializované v controlleri.

debug-kit-8

Vlastné panely

Debug Kit taktiež ponúka možnosť vytvoriť si vlastné panely alebo zobraziť len určité panely z tých, ktoré sú prednastavené. Táto časť je veľmi jednoduchá a jej štúdium prenechám čitateľom. Bližšie informácie môžete násjť na stránkach Debug Kit – Toolbar Panels

Inštalácia

Inštalácie Debug Kit je veľmi jednoduchá. Stačí si stiahnuť zdrojové kódy priamo z download stránok projektu. Aktuálna verzia v dobe písania článku je Debug Kit 1.1. Po stiahnutí Debug Kit stačí obsah balíčku nakopírovať do adresára app/plugins/debug_kit a vložiť nasledovný kód do požadovaného controllera, v našom prípade sa jedná o ArticlesController v súbore app/controllers/articles_controller.php

class ArticlesController extends AppController {
     var $components = array('DebugKit.Toolbar');
}

Integrácia s FirePHP

Veľmi zaujímavou vlastnosťou Debug Kit je možnosť integrácie tohto nástroja s debugovacím nástrojom FirePHP. FirePHP umožňuje debugovať PHP aplikáciu pomocou známeho nástroja FireBug.

Týmto je náš článok u konca. Myslím si, že Debug Kit je jedným s najlepších debugovacích nástrojov pre CakePHP a určite stojí za vyskúšanie. Rád uvítam vaše nápady a pripomienky k debugovaniu v CakePHP.

Používate debugovacie nástroje pri vývoji v CakePHP

Loading ... Loading ...
VN:F [1.8.3_1051]
Rating: 0.0/5 (0 votes cast)

Vlož komentár

XHTML: Môžete použiť nasledujúce tagy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>