vinoalvino Posted April 23, 2010 Share Posted April 23, 2010 Ho scritto 27 righe di codice che possono far risparmiare 27 mesi a tutti coloro che sviluppano o modificano moduli. Si tratta di una classe (Debug.php) da aggiungere nella cartella /prestashop/classes. Il suo utilizzo è banale, ecco un esempio: Debug::msg("sono dentro la funzione Pippo() e la variabile i vale '$i'"); E' possibile anche passare un array che verrà riconosciuto e stampato: $tags = Tag::getMainTags($lang,500); Debug::msg($tags); Ogni chiamata aggiunge il messaggio passato ad un file (io l'ho definito come /prestashop/_debug.txt, ma non ci vuole nulla a cambiargli posto). Con un secondo parametro opzionale è possibile azzerare (svuotare) il file _debug.txt prima di aggiungere il messaggio: Debug::msg($tags,TRUE); Questo è il sorgente della classe <?php /** * Debug class, Debug.php * * @author Vinoalvino * @copyright Vinoalvino * @license http://www.opensource.org/licenses/osl-3.0.php Open-source licence 3.0 * @chi volesse l'iban per pagarmi una birra lo chieda pure senza vergogna ;-) * @version 1.3 * */ class Debug { public function msg($msg, $clear=FALSE){ if( !$handle = fopen(_PS_ROOT_DIR_ ."/_debug.txt", ($clear ? "w" : "a") ) ) return; $log = date("[d-M-Y H:i:s]") ; if( is_array($msg) ) { fwrite($handle, "$log: array start ------\n"); fwrite($handle, print_r($msg,TRUE) ); fwrite($handle, "$log: array end ------\n"); } else fwrite($handle, "$log: $msg\n"); fclose($handle); } } ?> Questo è un esempio di file _debug.txt [23-Apr-2010 13:13:07]: dentro loop i vale '3' [23-Apr-2010 13:13:07]: dentro loop i vale '4' [23-Apr-2010 13:13:08]: dentro loop i vale '5' [23-Apr-2010 13:13:08]: esce correttamente i vale '5' [23-Apr-2010 13:18:18]: array start ------ Array ( [0] => [999] => E [1] => W [2] => E [3] => W [4] => E [5] => W [6] => E [DBT_IMG_CAT_NOTACTIVE] => W [DBT_IMG_SCE_NOTFOUND] => E [DBT_IMG_SCE_NOTACTIVE] => W ) [23-Apr-2010 13:18:18]: array end ------ Installazione: scompatta lo zip nella cartella Classes e inizia a debuggare. Debug.zip Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now