Co vše použít, pokud chci vyzkoušet jen jednu komponentu?
- medhi
- Generous Backer | 255
Ahoj,
chci začít pomalu s Nette, a to tím, že bych použil Laděnku
u stávajícího projektu (není v Nette). Musím pro tento účel nahrávat
na produkční verzi všechny soubory a složky Nette (nebo celý nette kompakt)
či stačí pouze nějaké soubory a složky obsluhující Laděnku?
Možná s tím souvisí i otázka: Není zbytečné natahovat celý nette-kompakt jenom kvůli využití jedné komponenty?
Děkuji
- pmg
- Člen | 372
Vítej, medhi! Zrovna Laděnka je přizpůsobena tak, aby byla použitelná samostatně. Potřeba jsou tyto soubory:
- Debug.templates/
- Debug.php
- Framework.php
- exceptions.php
- compatibility.php
Při samostatném použití jiné části je kompaktní verze asi nejlepším řešením. Nabízelo by se možná vytvořit generátor verzí s možností výběru komponent, ale kompletní kompaktní verze je velice malá a nejspíš by se už stejně výrazněji nezmenšila.
- pmg
- Člen | 372
include dirname(__FILE__) . '/libs/Debug.php';
Debug::enable();
// ekvivalent (log bude v adresáři s prvním spuštěným skriptem)
Debug::enable(E_ALL | E_STRICT, 'php_error.log');
// alternativně (log umístěn relativně k souboru s tímto kódem)
Debug::enable(E_ALL | E_STRICT, dirname(__FILE__) . '/logs/php_error.log', 'zraly@blueboard.cz');
// test
throw new Exception;
- David Grudl
- Nette Core | 8218
Dokonce lze použít https://files.nette.org/NDebug.zip, ale aktualizuji to jen málo často.
- David Grudl
- Nette Core | 8218
Nette se alespoň snaží některé fataly „překonvertovat“ na výjimky, například volání neexistující metody objektu (pokud je potomek Nette\Object) nebo předání parametru, který neodpovádí typehintu.
- aDAm
- Člen | 2
Dobrý den,
zkusil jsem nahodit laděnku na můj aktuální projekt (není na nette) ale
mám problém. Vypisuje mi to STRICT a NOTICE zprávy a toto bych chtěl
nezobrazovat. Neví někdo jak na to?
Laděnku zapínám takto:
include IPATH_BASE . DS .'administrator'. DS .'libraries'. DS .'debug'. DS .'Debug.php';
// Logovani chby
Debug::enable( Debug::DETECT, IPATH_BASE . DS .'logs'. DS .'php_error.log', 'info@example.cz' );
//Debug::enable ( E_NOTICE, IPATH_BASE . DS .'logs'. DS .'php_error.log', 'info@example.cz' );
Debug::$strictMode = FALSE;
- vlki
- Člen | 218
Myslím, že Nette se snaží o trochu jiný přístup. Mělo by programátora naučit dobrým mravům. A mezi těmi, alespoň v kontextu PHP, je fakt, aby aplikace byla napsaná čistě a nevyhazovala jakékoli chyby. Mimochodem, chyby úrovně E_NOTICE jsou většinou nejdůležitější.
Nastavení error_reporting
je tedy nastaveno
natvrdo.
Osobně se mi ještě nikdy nestalo, abych musel něco udělat tak, že to bude vždy vyhazovat chybku. Vždy to jde nějak upravit nebo alespoň potlačit.
- vlki
- Člen | 218
Tak to holt přenastavit error_reporting po tom, co to udělá laděnka.
Tzn.
Debug::enable();
error_reporting(E_ALL & ~E_NOTICE);
Je to už taková dost zoufalá možnost. A pokud by to laděnka vše logovala a někdo to postupně odvšivovával? No, každopádně hodně štěstí a ať je laděnka ku pomoci.