рдпрджрд┐ рдЖрдк
рдХреЛрд╣рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ
рдбрд┐рдмрдЧрдЯреВрд▓рдмрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред рдФрд░
рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдЖрдорддреМрд░ рдкрд░ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд░реНрдпрд╛рдкреНрдд рдЦрд╛рд▓реА рд╕рдордп рдФрд░ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХреЛ рд▓рд╛рдареА рдФрд░ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЧрд░реНрднрдирд┐рд░реЛрдзрдХ рдерд╛:

рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рди рдХреЗрд╡рд▓ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдмрд▓реНрдХрд┐ рдЙрдирдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рднреАред

рдореИрдВ рднреА рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рд╡рд░реНрддрдорд╛рди рдорд╛рд░реНрдЧ рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВред

рдЕрдХреНрд╕рд░ рдЖрдкрдХреЛ
var_dump();
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ
var_dump();
рдФрд░ рдкреГрд╖реНрда рдХрд╛ рдХреЛрдб рд╕реНрд╡рдпрдВ рдЦрд░рд╛рдм рди рдХрд░реЗрдВред

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ (
$_GET
,
$_POST
,
$_SESSION
, рдЖрджрд┐) рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ
рдкреГрд╖реНрда рдкрд░ рдПрдХ рд▓рд┐рдВрдХ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВред
рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд▓реЗрдХрд┐рди
рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╛рдпрд░рдмрдЧ рдореЗрдВ рд╕рднреА рд╕рдорд╛рди рдбреЗрдЯрд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред
рд╡рд┐рд╕реНрддреГрдд рд╕рдореВрд╣ рджреЗрдЦреЗрдВрдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрдирд╛
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣,
bootstrap.php
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрдерд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдирдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдЗрд╕рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреИрд╢ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
Kohana::modules(array( ... 'profilertoolbar' => MODPATH.'profilertoolbar', 'cache' => MODPATH.'cache', 'database' => MODPATH.'database', ... ));
рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдкреИрдирд▓
рдкреИрдирд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдкреГрд╖реНрда рдХреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
ProfilerToolbar::render(true);
рдореИрдВ рдЗрд╕реЗ рдореБрдЦреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рд╣рд░ рдЬрдЧрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
<html> <body> ... content ... <?php ProfilerToolbar::render(true); ?> </body> </html>
FireBug рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ
рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╛рдпрд░рдмрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдбреЗрдЯрд╛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд░реЗрдВ:
1. рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ
showEverywhere
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЬрдЧрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рджрд┐рдЦрд╛рдПрдВ
...
2. рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рдзрд┐ рдореЗрдВ,
ProfilerToolbar::firebug();
рд▓рд┐рдЦреЗрдВ
ProfilerToolbar::firebug();
рдпрд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдЬреЛ
рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:
class Controller_Ajax extends Controller { public function after(){ ... ProfilerToolbar::firebug(); parent::after(); } ... }
рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдирд╛
рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЪрд░ рдХреЗ рдбрдВрдк рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ:
ProfilerToolbar::addData('first tab','test string'); ProfilerToolbar::addData('first tab',rand(1, 1000)/ rand(1, 1000)); ProfilerToolbar::addData('first tab',$user); ProfilerToolbar::addData('first tab',$this->request->headers()); ProfilerToolbar::addData('second tab','other data');
рд╣рдо
рдЗрд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
config
рдпрд╣рд╛рдБ рд╕реВрдЪреАрдмрджреНрдз рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдЗрд╕рдореЗрдВ, рдЖрдк рд╕реНрд╡рдпрдВ рдкреИрдирд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдлрд╛рдпрд░рдмрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк
showIncFiles
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
showIncFiles
рдЬреЛ рдЙрддреНрдкрдиреНрди HTML рдХреЛрдб рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрдЧрд╛ред
database
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ
profiling
рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛, рдЕрдиреНрдпрдерд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдХрд╛рд╕
рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдорд╛рдВрдЧ рдореЗрдВ рд╣реИ, рддреЛ рдореИрдВ рдХреЛрд╣рдирд╛ рд╢реИрд▓реА рдФрд░ рдирд┐рдпрдорд┐рдд рдпреВрдЬрд╝рд░рдЧрд╛рдЗрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореИрдВ рд▓реЙрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдлреЗрдВрдХ рджреЗрдВрдЧреЗ :)
рдирд┐рд╖реНрдХрд░реНрд╖
рдореЙрдбреНрдпреВрд▓ рдкреГрд╖реНрда рдФрд░ рдбреЗрдореЛ:
alertdevelop.ru/projects/profilertoolbarрдЧрд┐рдердм рдкреНрд░реЛрдЬреЗрдХреНрдЯ:
github.com/Alert/profilertoolbarps рдбреЗрдореЛ рдкреЗрдЬ рдкрд░, рдлрд╛рдпрд░рдмрдЧ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдХреЗрд╡рд▓ рд╕реНрдереИрддрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓рд╛ рдкреИрдирд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдХрдареЛрд░ рдЖрд▓реЛрдЪрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ :)