{"id":391,"date":"2014-02-20T17:32:01","date_gmt":"2014-02-20T15:32:01","guid":{"rendered":"http:\/\/www.makes-it-work.de\/?p=391"},"modified":"2014-09-24T16:57:39","modified_gmt":"2014-09-24T14:57:39","slug":"cakephp-debug-fuer-grossekomplexe-objekte","status":"publish","type":"post","link":"https:\/\/www.makes-it-work.de\/en\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/","title":{"rendered":"CakePHP: debug() f\u00fcr gro\u00dfe oder komplexe Objekte"},"content":{"rendered":"<div id=\"attachment_410\" style=\"width: 1012px\" class=\"wp-caption aligncenter\"><a title=\"CakePHP: debug() f\u00fcr gro\u00dfe oder komplexe Objekte\" href=\"http:\/\/www.makes-it-work.de\/cakephp-debug-fuer-grossekomplexe-objekte\/\"><img aria-describedby=\"caption-attachment-410\" loading=\"lazy\" class=\"size-full wp-image-410\" src=\"http:\/\/www.makes-it-work.de\/wp-content\/uploads\/2014\/02\/execution-time.png\" alt=\"Fehler: Maximale PHP-Laufzeit \u00fcberschritten\" width=\"1002\" height=\"569\" \/><\/a><p id=\"caption-attachment-410\" class=\"wp-caption-text\">Maximale Skriptlaufzeit \u00fcberschritten<\/p><\/div>\n<p>CakePHP bringt die globale Funktion <strong><a title=\"CakePHP-Dokumehtation, Funktion debug()\" href=\"http:\/\/book.cakephp.org\/2.0\/en\/development\/debugging.html#basic-debugging\" target=\"_blank\">debug()<\/a><\/strong> mit, die sich bequem \u00fcberall nutzen l\u00e4sst, um beliebige Daten zu debuggen.<br \/>\nBei Objekten, die viele tief geschachtelte Daten beinhalten, versucht <strong>debug()<\/strong> dann mit gro\u00dfem Eifer alle Daten darzustellen, die beispielsweise an einem Controller oder einem Model h\u00e4ngen. Je nach der tats\u00e4chlichen Datenmenge und der maximalen Skriptlaufzeit kann das dazu f\u00fchren, dass das Skript im Ganzen beendet wird und der Programmablauf nicht ordentlich analysiert werden kann.<\/p>\n<p><!--more--><\/p>\n<p>Als Fehlermeldung erh\u00e4lt man dann etwas in dieser Richtung:<\/p>\n<pre>Fatal error: Maximum execution time of 30 seconds exceeded<\/pre>\n<p><!-- more --> Eine Alternative bringt CakePHP aber schon selbst mit: In der <strong>Debugger<\/strong>-Klasse gibt es die statische Methode <a title=\"CakePHP-Dokumehtation, Funktion Debugger::dump()\" href=\"http:\/\/book.cakephp.org\/2.0\/en\/development\/debugging.html#Debugger::dump\" target=\"_blank\"><strong>dump()<\/strong><\/a>, die die Ausgabe der Informationen auf die Ebene des \u00fcbergebenen Objektes und seiner Attribute und Methoden beschr\u00e4nkt:<\/p>\n<pre>Debugger::dump();<\/pre>\n<p>Auf diese Weise erh\u00e4lt man oft ausreichende \u00dcbersicht ohne die Skriptlaufzeit unn\u00f6tig ansteigen zu lassen:<\/p>\n<div id=\"attachment_396\" style=\"width: 475px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.makes-it-work.de\/wp-content\/uploads\/2014\/02\/ausgabe-debugger-dump.png\"><img aria-describedby=\"caption-attachment-396\" loading=\"lazy\" class=\"size-full wp-image-396\" src=\"http:\/\/www.makes-it-work.de\/wp-content\/uploads\/2014\/02\/ausgabe-debugger-dump.png\" alt=\"Ausgabe von Debugger::dump()\" width=\"465\" height=\"594\" \/><\/a><p id=\"caption-attachment-396\" class=\"wp-caption-text\">Ausgabe von Debugger::dump()<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>CakePHP bringt die globale Funktion debug() mit, die sich bequem \u00fcberall nutzen l\u00e4sst, um beliebige Daten zu debuggen. Bei Objekten, die viele tief geschachtelte Daten beinhalten, versucht debug() dann mit gro\u00dfem Eifer alle Daten darzustellen, die beispielsweise an einem Controller oder einem Model h\u00e4ngen. Je nach der tats\u00e4chlichen Datenmenge und der maximalen Skriptlaufzeit kann das&hellip;&nbsp;<a href=\"https:\/\/www.makes-it-work.de\/en\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">CakePHP: debug() f\u00fcr gro\u00dfe oder komplexe Objekte<\/span><\/a><\/p>\n","protected":false},"author":8,"featured_media":410,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_ti_tpc_template_sync":false,"_ti_tpc_template_id":"","_links_to":"","_links_to_target":""},"categories":[95,94],"tags":[23,76],"translation":{"provider":"WPGlobus","version":"2.12.0","language":"en","enabled_languages":["de","en"],"languages":{"de":{"title":true,"content":true,"excerpt":false},"en":{"title":false,"content":false,"excerpt":false}}},"jetpack_featured_media_url":"https:\/\/www.makes-it-work.de\/wp-content\/uploads\/2014\/02\/execution-time.png","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.4.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CakePHP: debug() f\u00fcr gro\u00dfe oder komplexe Objekte - Makes IT work - der Blog von OMG.de<\/title>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CakePHP: debug() f\u00fcr gro\u00dfe oder komplexe Objekte - Makes IT work - der Blog von OMG.de\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/\" \/>\n<meta property=\"og:site_name\" content=\"Makes IT work - der Blog von OMG.de\" \/>\n<meta property=\"article:published_time\" content=\"2014-02-20T15:32:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-09-24T14:57:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.makes-it-work.de\/wp-content\/uploads\/2014\/02\/execution-time.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1002\" \/>\n\t<meta property=\"og:image:height\" content=\"569\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@omgde\" \/>\n<meta name=\"twitter:site\" content=\"@omgde\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#organization\",\"name\":\"OMG.de\",\"url\":\"https:\/\/www.makes-it-work.de\/en\/\",\"sameAs\":[\"https:\/\/twitter.com\/omgde\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.makes-it-work.de\/wp-content\/uploads\/2021\/11\/Logo_OMG_PNG-Kopie.png\",\"width\":358,\"height\":356,\"caption\":\"OMG.de\"},\"image\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#website\",\"url\":\"https:\/\/www.makes-it-work.de\/en\/\",\"name\":\"Makes IT work - der Blog von OMG.de\",\"description\":\"Themen und News rundum IT und Technik. Von den Spezialisten der OMG.de GmbH.\",\"publisher\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.makes-it-work.de\/en\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.makes-it-work.de\/wp-content\/uploads\/2014\/02\/execution-time.png\",\"width\":1002,\"height\":569,\"caption\":\"Maximale Skriptlaufzeit \\u00fcberschritten\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#webpage\",\"url\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/\",\"name\":\"CakePHP: debug() f\\u00fcr gro\\u00dfe oder komplexe Objekte - Makes IT work - der Blog von OMG.de\",\"isPartOf\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#primaryimage\"},\"datePublished\":\"2014-02-20T15:32:01+00:00\",\"dateModified\":\"2014-09-24T14:57:39+00:00\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/\"]}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#\/schema\/person\/59eb3f78485d68bbbf79e3928a1586ca\"},\"headline\":\"CakePHP: debug() f\\u00fcr gro\\u00dfe oder komplexe Objekte\",\"datePublished\":\"2014-02-20T15:32:01+00:00\",\"dateModified\":\"2014-09-24T14:57:39+00:00\",\"commentCount\":0,\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#webpage\"},\"publisher\":{\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#primaryimage\"},\"keywords\":\"CakePHP,debugging\",\"articleSection\":\"Blog,Code\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.makes-it-work.de\/2014\/02\/20\/cakephp-debug-fuer-grossekomplexe-objekte\/#respond\"]}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#\/schema\/person\/59eb3f78485d68bbbf79e3928a1586ca\",\"name\":\"Johannes Mitlmeier\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.makes-it-work.de\/en\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/af5e7a1248b437d35c3569c860cb7269?s=96&d=mm&r=g\",\"caption\":\"Johannes Mitlmeier\"},\"description\":\"Als Webentwickler ist es meine Aufgabe die verf\\u00fcgbaren Techniken so zu verbinden, dass dabei gut bedienbare Produkte entstehen, die die Aufgabe l\\u00f6sen, die der Kunde an uns herangetragen hat.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts\/391"}],"collection":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/comments?post=391"}],"version-history":[{"count":7,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts\/391\/revisions"}],"predecessor-version":[{"id":690,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/posts\/391\/revisions\/690"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/media\/410"}],"wp:attachment":[{"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/media?parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/categories?post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.makes-it-work.de\/en\/wp-json\/wp\/v2\/tags?post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}