Přidat do Debug Debug::$bluescreenFile?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jasir
Člen | 746
+
0
-

Šlo by udělat, aby šablona, která se vykresluje při výpisu erroru (bluescreen.phtml), byla konfigurovatelná?
Například přes Debug::$bluescreenFile.

Používám upravenou šablonu, která umožňuje kliknout na jméno zdrojového souboru (souborů) přímo ve výpise chyb a ten se pak odevře v editoru. Nyní to řeším tak, že mám svojí verzi Nette v GITu (a v něm vlastní bluescreen.phtml), do které vždy merguju aktuální revizi Nette. Nicméně takováto konfigurovatelnost by mi umožnila vnutit Debugu vlastní šablonu bez přepisování té aktuální.

Díky.

Editoval jasir (29. 6. 2009 15:06)

onge
Člen | 53
+
0
-

Vzhledem k tomu, ze debug by mel byt co nejminimalistictejsi, aby nebyl potreba debuger na rozbehnuti debugeru, tak si myslim, ze asi nejlepsi reseni opravdu je prepisovat sablonu.

jasir
Člen | 746
+
0
-

onge napsal(a):

Vzhledem k tomu, ze debug by mel byt co nejminimalistictejsi, aby nebyl potreba debuger na rozbehnuti debugeru, tak si myslim, ze asi nejlepsi reseni opravdu je prepisovat sablonu.

Myslím, že taková úprava by nic nezesložitila. Jedná se o přidání jedné proměnné a její použití na místě, kde je nyní natvrdo zadrátovaná jiná šablona.

Nicméně filozoficky – nemyslím si, že cílem Debug je být co nejminimalističtější, ale co nejpoužitelnější. Je to věc, kterou jako vývojáři (aspoň my, co častěji chybujeme) používáme neustále. Možnost upravit si šablonu (třeba i vzhled, ne každému musí vyhovovat design) bez úprav frameworku je podle mě krok správným směrem.

onge
Člen | 53
+
0
-

Jenze cim vic featur do toho nacpes, tim vic veci se muze rozbit a debug proste nepujde (treba kdyby nemohl precist konfigurak s cestou k sablone). Pokud tu jedinou sablonu, ktera se pouziva, prepises sablonou, ktera ti vyhovuje, neni to nic proti nicemu a rekl bych, ze je to i to nejrychlejsi a nejjednodussi, co muze byt.

jasir
Člen | 746
+
0
-

onge napsal(a):

Jenze cim vic featur do toho nacpes, tim vic veci se muze rozbit a debug proste nepujde (treba kdyby nemohl precist konfigurak s cestou k sablone).

Debug využívá developer, tedy nejpovolanější člověk, který to umí opravit.
Používá to také jenom on. Já jako chápu, o co ti jde, a jsem také proti tomu rozšiřovat bezhlavě framework o nesmysly, ale tady s tebou nesouhlasím.

Pokud tu jedinou sablonu, ktera se pouziva, prepises sablonou, ktera ti vyhovuje, neni to nic proti nicemu a rekl bych, ze je to i to nejrychlejsi a nejjednodussi, co muze byt.

Tohle je „špinavá“ cesta – musíš měnit soubory frameworku. A to není hezké.

Editoval jasir (29. 6. 2009 19:14)

David Grudl
Nette Core | 8218
+
0
-

Ono to není tak jednoduché kvůli minimalizované verzi.

jasir
Člen | 746
+
0
-

David Grudl napsal(a):

Ono to není tak jednoduché kvůli minimalizované verzi.

Aha, děkuji. Zřejmě jde o to, že se bluescreen.phtml musí zahrnout do minimalizované verze, čili tam musí být na tvrdo require dirname(__FILE__) . '/Debug.templates/bluescreen.phtml';. Pokud je to tak, je tato implementace také problematická?

Debug.php řádek 588

<?php
public static function paintBlueScreen(Exception $exception) {
     $internals = array();
     ...
     if (self::$blueScreenTemplate === '/Debug.templates/bluescreen.phtml') {
	require dirname(__FILE__) . '/Debug.templates/bluescreen.phtml';
     else {
	require self::$blueScreenTemplate;
     }
 }
?>

Editoval jasir (29. 6. 2009 23:41)

kravčo
Člen | 721
+
0
-

jasir napsal(a):

Zřejmě jde o to, že se bluescreen.phtml musí zahrnout do minimalizované verze…

Áno.

… čili tam musí být na tvrdo require dirname(__FILE__) . '/Debug.templates/bluescreen.phtml';

Nie, celá tá šablóna je zahrnutá v zminimalizovanom súbore, teda žiaden require tam nie je.

jasir
Člen | 746
+
0
-

kravco napsal(a):

… čili tam musí být na tvrdo require dirname(__FILE__) . '/Debug.templates/bluescreen.phtml';

Nie, celá tá šablóna je zahrnutá v zminimalizovanom súbore, teda žiaden require tam nie je.

Takže se nahradí require dirname(__FILE__) . '/Debug.templates/bluescreen.phtml' za obsah té šablony. Takže by to fungovalo, ne?

onge
Člen | 53
+
0
-

jasir napsal(a):
Tohle je „špinavá“ cesta – musíš měnit soubory frameworku. A to není hezké.

Presneji receno jeden soubor. Prijde ti cistsi tuhle sablonu nechat lezet ladem, misto ni tam nahrat vlastni a prekonfigurovat si, ze se nema brat normalni, ale ta vylepsena? Prijde mi hezci upravit soubor, nez vytvorit dalsi a tenhle uz nikdy nepouzit. Co se nepouziva, je zbytecne. Navic, je to sablona – sablony jsou od toho, aby byly upravovany :)

jasir
Člen | 746
+
0
-

Presneji receno jeden soubor. Prijde ti cistsi tuhle sablonu nechat lezet ladem, misto ni tam nahrat vlastni a prekonfigurovat si, ze se nema brat normalni, ale ta vylepsena? Prijde mi hezci upravit soubor, nez vytvorit dalsi a tenhle uz nikdy nepouzit. Co se nepouziva, je zbytecne. Navic, je to sablona – sablony jsou od toho, aby byly upravovany :)

Nesouhlasím. Do frameworku se nešahá ;-)
Navíc je bluescreen.phtml úplně zadrátovaná do minified verze, takže při použití této verze už nemůžu upravovat ale lautr nic.

onge
Člen | 53
+
0
-

Pri pouziti minified verze se toho stejne neda moc debugovat.

A vubec, tak to napis, kdyz to bude dobry, tak se to treba prida :)

(PS: Do frameworku se nesaha je jedna z tech jednoduchych pravd, jejichz prosazovani vzdy a za vsech okolnosti neprinasi nic dobreho)

Vitek Jezek
hledá kolegy | 285
+
0
-

me tohle prijde skoro stejne dogma, jako dogma ‚ciselne‘ ; )

jasir
Člen | 746
+
0
-

onge napsal(a):
Pri pouziti minified verze se toho stejne neda moc debugovat.

Tak to už by v minified teda šablona nemusela být vůbec, ne?

A vubec, tak to napis, kdyz to bude dobry, tak se to treba prida :)

viz výše. :-)

(PS: Do frameworku se nesaha je jedna z tech jednoduchych pravd, jejichz prosazovani vzdy a za vsech okolnosti neprinasi nic dobreho)

No tahle tvoje pravda trpí podobným problémem ;-)