Nette Framework
  • Úvodní stránka
  • Download
  • Dokumentace
  • Fórum
  • Blog
  • Přispějte
  • Quick Start
    • Začínáme
    • Adresářová struktura
    • Vytvoření presenteru
    • Připojení šablony
    • Tvorba odkazů
    • Hezčí šablony
    • Zobrazení tabulky
    • Stránkování a řazení
    • Tvoříme komponentu
  • Nette
    • Základní třídy
    • Nette\Annotations
    • Nette\Component
    • Nette\Debug
      • Základy
      • Logování chyb
      • Firebug
    • Nette\Environment
    • Nette\Image
    • Nette\Object
    • Nette\String
  • Nette\Application
    • Application
    • AppForm
    • Control
    • Presenter
    • PresenterCompo­nent
    • PresenterRequest
    • Routování
    • MultiRouter
    • Route
    • SimpleRouter
  • Nette\Caching
  • Nette\Forms
  • Nette\IO\SafeS­tream
  • Nette\Loaders
  • Nette\Security
    • Bezpečnost aplikací
    • Identity
    • SimpleAuthenti­cator
    • Permission
    • Dynamická správa rolí a zdrojů
  • Nette\Templates
    • Template
    • Template Filters
    • Template Helpers
  • Nette\Web
    • Web
    • Ftp
    • Html
    • HttpRequest
    • HttpResponse
    • Session
    • User
Naposledy změněno 28. 10. 2008 Edituj Historie Poslední změny

Firebug

Komunikace Nette\Debug a Firebugu dává vývojářům možnost zasílat zprávy samostatným kanálem, mimo okno prohlížeče. Lze to tedy využít pro zasílání chyb úrovně E_NOTICE a E_WARNING (tohle bude nějak Nette\Debug řešit automaticky). Taktéž je možné logovat výjimky, které sice aplikace zachytila, ale stojí za to na ně upozornit. Firebug konzole se také výborně hodí pro ladění AJAXových aplikací.

  1. je vyžadován je Firefox verze 2 nebo 3
  2. stáhněte si rozšíření Firebug
  3. stáhněte si rozšíření FirePHP (minimálně ve verzi 0.2)
  4. zapněte si FirePHP v FirePHP menu a aktivujte Firebug Net panel

Protože Nette\Debug komunikuje s Firebugem přes HTTP hlavičky, je nutné volat logovací funkce ještě před tím, než PHP skript cokoliv vypíše. Také je možné zapnout output buffering a tím výstup oddálit.

use Nette\Debug;

// vypíšeme řetězec do konzoly Firebugu
Debug::fireLog('Hello World');

// ke zprávám je možné přidat indikátor:
Debug::fireLog('Info message', Debug::INFO);
Debug::fireLog('Warn message', Debug::WARN);
Debug::fireLog('Error message', Debug::ERROR);

// do konzoly lze vypsat i pole nebo objekty:
Debug::fireLog($_SERVER);

Konzola podporuje i speciální typ tabulky:

Debug::fireLog(
    array('2 SQL queries took 0.06 seconds', // table title
    array(
        array('SQL Statement', 'Time', 'Result'), // table header
        array('SELECT * FROM Foo', '0.02', array('row1', 'row2')), // 1. row
        array('SELECT * FROM Bar', '0.04', array('row1', 'row2'))  // 2. row
    )
), 'TABLE');

Nebo lze do logu poslat výjimku:

try {
    throw new Exception('Test Exception');
} catch(Exception $e) {
    Debug::fireLog($e);
}

Výsledek vypadá asi takto:

Kromě konzole lze vypisovat proměnné do záložky „Server“ pod záložkou „Net“. Zde je připraven inspektor, který umí rozbalovat a sbalovat jednotlivé větve proměnné. Každé dumpované proměnné musí být přiřazen jedinečný klíč (druhý parameter):

$arr = array(10, 20,
    array('key1' => 'val1', 'key2' => TRUE)
);

Debug::fireDump($arr, 'My var');

Což v prohlížeči vypadá takto:

Viz také:

  • FirePHP
« Logování chyb Nette\Environment »

Copyright © 2008, 2009 Nette Foundation

Nette Framework powered | dibi powered | Texy! powered | Institut Školení PHP