Tracy 2.9 a proměna ikonické obrazovky

před 3 lety od David Grudl  

Charakteristická červená obrazovka Tracy se za 15 let své existence takřka nezměnila a s nadsázkou lze říci, že proměny spočívaly ve hledání ideálního odstínu červené. Ve skutečnosti se drobných vizuálních vylepšení objevila spousta, ale až verze 2.9 přináší něco opravu zásadního.

Záložky

Do červené obrazovky přibyly záložky. Díky nim můžete přepínat mezi šablonou a PHP kódem, pokud se chyba objeví v Latte. Dělají mnohem přehlednější sekci Environment. A také umožnily spojit HTTP požadavek a odpověď do jediné sekce HTTP.

Call stack

Modernizovanou podobu má i call stack. Výpis je nově zarovnaný podle názvů volaných metod a funkcí. Do zdrojového kódu a zároveň i k výpisu argumentů se lze prokliknout jedním klikem na název metody.

A pozor, mezi záložkami s Latte šablonou a PHP kódem se nyní můžete přepínat k přímo v call stacku!

(Pokud nepoužíváte provázání Tracy s editorem, můžete proklikávání jmen souborů vypnout nastavením Debugger::$editor = null).

Bez session

Aby Debug bar mohl zobrazovat AJAXové požadavky a přesměrování, odkládala si Tracy data do session. Od verze 2.9 nepoužívá nativní PHP session, ale vlastní dočasné soubory a posílá si klíč v cookie tracy-session. Díky tomu můžete lépe debugovat chování PHP session ve vaší aplikaci, protože Tracy jeho přítomnost nevyžaduje a tedy jej ani nezapíná.

(Tracy lze nastavit, aby opět používala nativní session).

Vytváření souborů

Tracy umí vytvářet nové soubory a třídy. Pokud v textu výjimky objeví název neexistující třídy či souboru, nabídne přes akci create vytvoření. Od verze 2.9 je možné definovat i jeho obsah. Umí tak vytvářet třeba presentery nebo šablony Latte.

Vzniká tak zajímavý elegantní způsob vývoje aplikací, který se odvíjí od zadávání URL do prohlížeče.

Aby vytváření fungovalo, zaktualizuje open-editor.js resp. .sh.

Další

  • proměnná $scream kromě true/false akceptuje i úroveň chyb, např. Debugger::$scream = E_DEPRECATED | E_USER_DEPRECATED
  • v konfiguračních souborech lze hodnoty voleb logSeverity, strictMode a scream zapisovat jako výraz používaný v jazyce PHP (např. E_ALL & ~E_NOTICE)

Komentáře

  1. super

    před 3 lety
  2. Hodně dobré 👍

    před 3 lety
  3. Wow, really great job!!

    před 3 lety

Chcete-li odeslat komentář, přihlaste se