Přidat do Debug Debug::$bluescreenFile?
- jasir
- Člen | 746
Š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)
- jasir
- Člen | 746
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
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
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)
- jasir
- Člen | 746
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á?
<?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
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
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
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
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.
- jasir
- Člen | 746
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 ;-)