{"id":70,"date":"2008-03-21T15:02:45","date_gmt":"2008-03-21T15:02:45","guid":{"rendered":"http:\/\/byteblog.internetallee.de\/?p=70"},"modified":"2008-03-21T15:02:45","modified_gmt":"2008-03-21T15:02:45","slug":"hohe-hurden-fur-wahre-helden","status":"publish","type":"post","link":"https:\/\/blogs.internetallee.de\/byteblog\/2008\/03\/21\/hohe-hurden-fur-wahre-helden\/","title":{"rendered":"Hohe H\u00fcrden f\u00fcr wahre Helden"},"content":{"rendered":"<p>Ich kann die armen PHP Programmierer nur  bedauern. Das schreiben von einfachen Anwendungen mit PHP soll ja recht  einfach sein, aber wehe es gibt einen Fehler.  Das Debuggen von PHP Programmen ist nicht einfach.<\/p>\n<div>\n<p>Aus dem Grunde werden wohl die meisten <a href=\"http:\/\/php.net\/\" target=\"_blank\">PHP<\/a> Anwender das Debuggen per <strong>echo<\/strong> oder <strong>var_dump<\/strong> anwenden. Wenn das aber nicht mehr ausreicht, so muss doch ein echter Debugger her. Da gibt es mehrere in der OpenSource Welt.<\/p>\n<p>Ausprobiert habe ich <a href=\"http:\/\/xdebug.org\/\" target=\"_blank\">XDebug<\/a> und <a href=\"http:\/\/dd.cron.ru\/dbg\/\" target=\"_blank\">DBG<\/a>.<\/p>\n<p>DBG war als erstes an der Reihe. Nachdem ich das Modul nach Anleitung  kompiliert und installiert hatte, dauerte es auch nur noch einen halben  Tag, bis ich mich mit <a href=\"http:\/\/www.phpeclipse.de\/tiki-view_articles.php\" target=\"_blank\">PHPEclipse<\/a> mit dem Debugging anfangen konnte. DBG kann sich pro Anfrage per  Parameter auf einen anderen entfernten Debugger einlassen. Was von  Vorteil ist, wenn mehrere Entwickler mit einem Webserver arbeiten.  Leider habe ich es nicht hinbekommen, dass auch jede Anfrage an den  Debugger weitergeleitet wurde. Alles in allem, keine sch\u00f6ne Erfahrung.<\/p>\n<p>Danach habe ich noch XDebug ausprobiert, da es von der <a href=\"http:\/\/www.eclipse.org\/pdt\/\" target=\"_blank\">pdt<\/a> Erweiterung des Eclipse-Projektes genutzt werden kann. Mit der von DBG  gewonnenen Erfahrung bin ich schon viel schneller zum Debuggen gekommen.  Aber anscheinend geht XDebug davon aus, das immer nur ein Entwickler  debuggen will. Denn das PHP Modul verbindet sich immer mit einem bei  Apache Start voreingestellten Host und Port. Daf\u00fcr zeigte sich der  Debugger etwas stabiler als DBG. Als nettes Beiwerk ver\u00e4ndert XDebug die  Ausgabe von var_dump und den Fehlermeldungen von PHP. Auch ist ein  einfacher Profiler einschaltbar, dessen Ergebnisse mit kcachegrind  auswertbar sind. (DBG soll auch einen Profiler enthalten, aber die Doku  ist quasi nicht vorhanden.)<\/p>\n<p>Alles in allem: Arme PHP Entwickler.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ich kann die armen PHP Programmierer nur bedauern. Das schreiben von einfachen Anwendungen mit PHP soll ja recht einfach sein, aber wehe es gibt einen Fehler. Das Debuggen von PHP Programmen ist nicht einfach. Aus dem Grunde werden wohl die meisten PHP Anwender das Debuggen per echo oder var_dump anwenden. Wenn das aber nicht mehr [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12,18,27],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-debugging","tag-php","tag-sprachen"],"_links":{"self":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":0,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/posts\/70\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/media?parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/categories?post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.internetallee.de\/byteblog\/wp-json\/wp\/v2\/tags?post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}