{"id":297,"date":"2006-12-11T23:59:00","date_gmt":"2006-12-11T22:59:00","guid":{"rendered":"https:\/\/matthieu.sarter.fr\/blog\/ibdtraceur"},"modified":"2014-05-10T23:42:49","modified_gmt":"2014-05-10T21:42:49","slug":"ibdtraceur","status":"publish","type":"post","link":"https:\/\/matthieu.sarter.fr\/blog\/ibdtraceur\/","title":{"rendered":"IBDTraceur"},"content":{"rendered":"<p>Encore un petit bout de PHP cod\u00e9 vite fait ce week-end. Comme d&rsquo;hab, il carbure au GPL \ud83d\ude09<br \/>\n<!--more--><br \/>\nEntre le march\u00e9 de No\u00ebl et la FNAC, j&rsquo;ai de nouveau mis les mains dans le code ce week-end. R\u00e9sultat : IBDTraceur, une petite classe PHP permettant de simplifier la mise en place de traces dans une application PHP.<\/p>\n<p>Chaque trace est associ\u00e9e \u00e0 un niveau qui d\u00e9finira si la trace sera affich\u00e9e ou non, en fonction des param\u00e8tres du traceur. Elles peuvent \u00eatre affich\u00e9es directement dans la page HTML ou sous forme de commentaires.<\/p>\n<p>La traceur permet \u00e9galement de comptabiliser les appels de fonctions, de g\u00e9rer le d\u00e9coupage de votre application en plusieurs modules et de g\u00e9rer l&rsquo;arr\u00eat automatique de l&rsquo;ex\u00e9cution lorsqu&rsquo;un certain nombre d&rsquo;erreurs a \u00e9t\u00e9 atteint dans un module. Les informations stock\u00e9es par le traceur sont accessibles partout dans votre application via une variable globale.<\/p>\n<p><a title=\"T\u00e9l\u00e9charger IBDTraceur\" href=\"https:\/\/matthieu.sarter.fr\/php\/page-ibdtraceur-telechargement.html\" target=\"_blank\" hreflang=\"fr\">T\u00e9l\u00e9charger IBDTraceur<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Encore un petit bout de PHP cod\u00e9 vite fait ce week-end. Comme d&rsquo;hab, il carbure au GPL \ud83d\ude09<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[19],"tags":[],"class_list":["post-297","post","type-post","status-publish","format-standard","hentry","category-php"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/posts\/297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/comments?post=297"}],"version-history":[{"count":0,"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/posts\/297\/revisions"}],"wp:attachment":[{"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/media?parent=297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/categories?post=297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matthieu.sarter.fr\/blog\/wp-json\/wp\/v2\/tags?post=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}