{"id":117,"date":"2023-02-14T00:00:00","date_gmt":"2023-02-13T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/bg\/po-dobar-wordpress-debugging-s-acorn\/"},"modified":"2026-01-20T06:38:43","modified_gmt":"2026-01-20T05:38:43","slug":"po-dobar-wordpress-debugging-s-acorn","status":"publish","type":"post","link":"https:\/\/helloblog.io\/bg\/po-dobar-wordpress-debugging-s-acorn\/","title":{"rendered":"\u041f\u043e-\u0434\u043e\u0431\u044a\u0440 WordPress debugging \u0441 Acorn: WP_DEBUG, Symfony, Ignition \u0438 \u0440\u0435\u0430\u043b\u043d\u043e \u0447\u0435\u0442\u0438\u043c\u0438 \u0433\u0440\u0435\u0448\u043a\u0438"},"content":{"rendered":"\n<p>\u0412 WordPress \u0434\u0435\u0431\u044a\u0433\u0432\u0430\u043d\u0435\u0442\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0438 \u0441\u0432\u044a\u0440\u0448\u0432\u0430 \u0441 <code>WP_DEBUG<\/code>. \u0422\u043e\u0432\u0430 \u0435 \u043d\u0430\u043f\u044a\u043b\u043d\u043e \u043e\u043a\u0435\u0439 \u043a\u0430\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u2014 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0430\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u0448 \u0442\u0435\u043c\u0438 \u0438 \u043f\u043b\u044a\u0433\u0438\u043d\u0438 \u0438 \u0438\u0441\u043a\u0430\u0448 \u0434\u0430 \u0445\u0432\u0430\u0449\u0430\u0448 notices \u0438 warnings \u043d\u0430\u0432\u0440\u0435\u043c\u0435. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044a\u0442 \u0435, \u0447\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u044f\u0442 \u0438\u0437\u0445\u043e\u0434 \u043d\u0430 <code>WP_DEBUG<\/code> \u0447\u0435\u0441\u0442\u043e \u0435 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u0435\u043d \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435, \u0430 \u043f\u043e\u043d\u044f\u043a\u043e\u0433\u0430 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043e \u043f\u0440\u0435\u0447\u0438: \u0433\u0440\u0435\u0448\u043a\u0438\u0442\u0435 \u0441\u0435 \u201e\u0438\u0437\u043b\u0438\u0432\u0430\u0442\u201c \u0432\u044a\u0440\u0445\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430, \u0431\u0435\u0437 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u0431\u0435\u0437 \u0443\u0434\u043e\u0431\u043d\u0430 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u0438 \u0431\u0435\u0437 \u0434\u043e\u0431\u044a\u0440 stack trace.<\/p>\n\n\n\n<p>\u0410\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0438\u0448 \u043f\u043e \u043f\u043e-\u043c\u043e\u0434\u0435\u0440\u043d\u0438 WordPress \u043f\u0440\u043e\u0435\u043a\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u044a\u0441 \u0441\u0442\u0435\u043a \u043a\u0430\u0442\u043e Bedrock + Composer), \u0438\u043c\u0430 \u0438 \u043f\u043e-\u043f\u0440\u0438\u044f\u0442\u0435\u043d \u043f\u044a\u0442: Acorn. Acorn \u0435 \u0441\u043b\u043e\u0439, \u043a\u043e\u0439\u0442\u043e \u0432\u043a\u0430\u0440\u0432\u0430 Laravel-\u043f\u043e\u0434\u043e\u0431\u043d\u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432 WordPress (helpers, service container \u0438 \u0442.\u043d.) \u0438 \u2014 \u0432\u0430\u0436\u043d\u043e\u0442\u043e \u0437\u0430 \u0442\u0430\u0437\u0438 \u0442\u0435\u043c\u0430 \u2014 \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 \u043d\u0430\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0439\u0442\u043e \u0432\u0438\u0436\u0434\u0430\u0448 exception-\u0438\u0442\u0435, \u043a\u043e\u0433\u0430\u0442\u043e <code>WP_DEBUG<\/code> \u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0417\u0430\u0449\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u0438\u044f\u0442 WP_DEBUG \u0438\u0437\u0445\u043e\u0434 \u043d\u0435 \u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u044a\u0447\u0435\u043d<\/h2>\n\n\n\n<p><code>WP_DEBUG<\/code> \u0441\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430 \u0447\u0440\u0435\u0437 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0438 \u0435 \u0434\u043e\u0431\u0440\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0434\u0430 \u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0432\u044a\u0432 \u0432\u0441\u0438\u0447\u043a\u0438 \u043b\u043e\u043a\u0430\u043b\u043d\u0438 \u0441\u0440\u0435\u0434\u0438. WordPress \u0435\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0430 \u0435 \u043f\u044a\u043b\u043d\u0430 \u0441 \u043a\u043e\u0434, \u043a\u043e\u0439\u0442\u043e \u0445\u0432\u044a\u0440\u043b\u044f notices\/warnings (\u043f\u043e\u043d\u044f\u043a\u043e\u0433\u0430 \u043e\u0442 \u043f\u043b\u044a\u0433\u0438\u043d\u0438, \u043f\u043e\u043d\u044f\u043a\u043e\u0433\u0430 \u043e\u0442 \u0442\u0435\u043c\u0438), \u0430 \u0431\u0435\u0437 <code>WP_DEBUG<\/code> \u0442\u0435\u0437\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438 \u043b\u0435\u0441\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0430\u0442 \u0441\u043a\u0440\u0438\u0442\u0438 \u0434\u043e production.<\/p>\n\n\n\n<p>\u0421\u0430\u043c\u0438\u044f\u0442 output \u043e\u0431\u0430\u0447\u0435 \u0435 \u0431\u0430\u0437\u043e\u0432: \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0438 \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0432 HTML-\u0430. \u0422\u043e\u0432\u0430 \u043f\u043e\u043c\u0430\u0433\u0430 \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u0448, \u0447\u0435 \u201e\u043d\u0435\u0449\u043e \u0441\u0435 \u0447\u0443\u043f\u0438\u201c, \u043d\u043e \u043d\u0435 \u043f\u043e\u043c\u0430\u0433\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0434\u0430 \u0441\u0442\u0438\u0433\u043d\u0435\u0448 \u0431\u044a\u0440\u0437\u043e \u0434\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u0442\u0430, \u043e\u0441\u043e\u0431\u0435\u043d\u043e \u043a\u043e\u0433\u0430\u0442\u043e exception-\u044a\u0442 \u0435 \u043f\u043e-\u0434\u044a\u043b\u0431\u043e\u043a\u043e \u0432 call stack-\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2252\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-scaled.png\" alt=\"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435\u043d \u0438\u0437\u0445\u043e\u0434 \u043d\u0430 WP_DEBUG: \u0433\u0440\u0435\u0448\u043a\u0438 \u0438 notices, \u0438\u0437\u043f\u0438\u0441\u0430\u043d\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0432\u044a\u0440\u0445\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430\" class=\"wp-image-113\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-scaled.png 2560w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-300x264.png 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-1024x901.png 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-768x676.png 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-1536x1351.png 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-2048x1802.png 2048w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-default-400x352.png 400w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0438\u044f\u0442 WP_DEBUG output: \u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u043d\u043e \u0442\u0440\u0443\u0434\u0435\u043d \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435 \u043f\u0440\u0438 \u043f\u043e-\u0441\u043b\u043e\u0436\u043d\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438. \u2014 <em>Forr\u00e1s: Roots.io<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u041a\u0430\u043a Acorn \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 WP_DEBUG (Symfony exception handler)<\/h2>\n\n\n\n<p>Acorn \u201e\u0437\u0430\u043a\u0430\u0447\u0430\u201c \u043f\u043e-\u0434\u043e\u0431\u044a\u0440 exception handler, \u043a\u043e\u0433\u0430\u0442\u043e <code>WP_DEBUG<\/code> \u0438 <code>WP_DEBUG_DISPLAY<\/code> \u0441\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0438. \u041f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 Acorn \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 Symfony exception handler, \u043a\u043e\u0435\u0442\u043e \u0434\u0430\u0432\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u043d\u043e \u043f\u043e-\u0447\u0435\u0442\u0438\u043c \u0435\u043a\u0440\u0430\u043d \u043f\u0440\u0438 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f: \u043f\u043e-\u044f\u0441\u043d\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d\u0435, \u0441\u0442\u0435\u043a, \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0438 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u043f\u043e-\u043c\u0430\u043b\u043a\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0435\u043d \u0448\u0443\u043c.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2252\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-scaled.png\" alt=\"Acorn \u043f\u043e\u043a\u0430\u0437\u0432\u0430 exception-\u0438 \u0441 Symfony exception handler, \u043f\u043e-\u0447\u0435\u0442\u0438\u043c \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u044f WP_DEBUG output\" class=\"wp-image-114\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-scaled.png 2560w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-300x264.png 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-1024x901.png 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-768x676.png 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-1536x1351.png 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-2048x1802.png 2048w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-symfony-400x352.png 400w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Acorn \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435: Symfony exception handler \u0432\u043c\u0435\u0441\u0442\u043e \u0433\u043e\u043b \u0442\u0435\u043a\u0441\u0442 \u0432\u044a\u0440\u0445\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430. \u2014 <em>Forr\u00e1s: Roots.io<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Ignition \u0432 WordPress \u0447\u0440\u0435\u0437 Acorn: \u043d\u0430\u0439-\u0434\u043e\u0431\u0440\u043e\u0442\u043e \u0438\u0437\u0436\u0438\u0432\u044f\u0432\u0430\u043d\u0435 \u0437\u0430 error pages<\/h2>\n\n\n\n<p>\u0410\u043a\u043e \u0438\u0434\u0432\u0430\u0448 \u043e\u0442 Laravel, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0448 Ignition \u2014 default error page-\u044a\u0442 \u043d\u0430 Laravel (\u043e\u0442 Laravel v9 \u043d\u0430\u0441\u0430\u043c). \u0421 Acorn v3 \u0441\u0435 \u043f\u043e\u044f\u0432\u044f\u0432\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u0437\u0430 routing \u043f\u043e Laravel-\u0441\u043a\u0438, \u0430 \u0442\u043e\u0432\u0430 \u043e\u0442\u0432\u0430\u0440\u044f \u0432\u0440\u0430\u0442\u0430\u0442\u0430 \u0438 \u0437\u0430 Ignition \u0432 WordPress \u043f\u0440\u043e\u0435\u043a\u0442\u0438, \u043a\u043e\u0438\u0442\u043e \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442 Acorn.<\/p>\n\n\n\n<p>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u044f\u0442 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442 \u0435 \u043c\u043d\u043e\u0433\u043e \u043f\u043e-\u0441\u0438\u043b\u0435\u043d debugging UX: \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u0432 stack trace-\u0430, \u043f\u043e-\u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0438 \u043a\u0430\u0442\u043e \u0446\u044f\u043b\u043e \u0438\u0437\u0436\u0438\u0432\u044f\u0432\u0430\u043d\u0435, \u043a\u043e\u0435\u0442\u043e \u0435 \u043f\u043e-\u0431\u043b\u0438\u0437\u043a\u043e \u0434\u043e \u0442\u043e\u0432\u0430, \u043a\u043e\u0435\u0442\u043e PHP \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u0446\u0438\u0442\u0435 \u043e\u0447\u0430\u043a\u0432\u0430\u0442 \u043e\u0442 \u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043d framework.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2252\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-scaled.png\" alt=\"WP_DEBUG output \u043f\u0440\u0435\u0437 Acorn \u0441 Ignition: \u043c\u043e\u0434\u0435\u0440\u043d\u0430 error \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0441 \u0443\u0434\u043e\u0431\u0435\u043d stack trace\" class=\"wp-image-115\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-scaled.png 2560w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-300x264.png 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-1024x901.png 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-768x676.png 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-1536x1351.png 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-2048x1802.png 2048w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-ignition-400x352.png 400w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Ignition \u0432\u044a\u0440\u0445\u0443 WordPress (\u0447\u0440\u0435\u0437 Acorn): \u043d\u0430\u0439-\u043f\u0440\u0438\u044f\u0442\u043d\u0438\u044f\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430 exception \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 \u043b\u043e\u043a\u0430\u043b\u043d\u043e. \u2014 <em>Forr\u00e1s: Roots.io<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u043d\u0441\u0442\u0430\u043b\u0430\u0446\u0438\u044f \u043d\u0430 Ignition (dev dependency)<\/h3>\n\n\n\n<p>\u0417\u0430 \u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0448 Ignition \u0432 WordPress \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 Acorn, \u0441\u0435 \u0434\u043e\u0431\u0430\u0432\u044f dev dependency \u043f\u0440\u0435\u0437 Composer \u043e\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0442\u0430, \u043a\u044a\u0434\u0435\u0442\u043e \u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d Acorn:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer require spatie\/laravel-ignition --dev\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> require<\/span><span style=\"color:#9ECBFF\"> spatie\/laravel-ignition<\/span><span style=\"color:#79B8FF\"> --dev<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-group callout callout-info is-style-info is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0437\u0430 WP_DEBUG<\/h4>\n\n\n<p>Acorn \u043f\u043e\u0434\u043e\u0431\u0440\u044f\u0432\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438\u0442\u0435, \u043d\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f \u0434\u043e\u0431\u0440\u0438\u0442\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438: \u0434\u0440\u044a\u0436 <code>WP_DEBUG<\/code> \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043b\u043e\u043a\u0430\u043b\u043d\u043e \u0438 \u0432\u043d\u0438\u043c\u0430\u0432\u0430\u0439 \u043a\u0430\u043a\u0432\u043e \u0441\u0435 \u043f\u043e\u043a\u0430\u0437\u0432\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e. \u041f\u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u044f\u0442 handler \u0435 \u043d\u0430\u0439-\u0441\u043c\u0438\u0441\u043b\u0435\u043d \u0432 dev \u0441\u0440\u0435\u0434\u0430.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Whoops: \u043f\u043e-\u0441\u0442\u0430\u0440\u0438\u044f\u0442 \u043f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 (\u043e\u0441\u043e\u0431\u0435\u043d\u043e \u0430\u043a\u043e \u0441\u0438 \u043d\u0430 Acorn v2)<\/h2>\n\n\n\n<p>\u041f\u0440\u0435\u0434\u0438 Acorn v3 \u0447\u0435\u0441\u0442\u043e \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0448\u0435 whoops (\u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d PHP error handler) \u0437\u0430 \u043f\u043e-\u0434\u043e\u0431\u0440\u0438 error pages. \u0410\u043a\u043e \u043f\u043e \u043d\u044f\u043a\u0430\u043a\u0432\u0430 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0441\u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u043b \u043d\u0430 Acorn v2, whoops \u0432\u0441\u0435 \u043e\u0449\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0442\u0438 \u0434\u0430\u0434\u0435 \u043f\u043e-\u0434\u043e\u0431\u0440\u043e \u0438\u0437\u0436\u0438\u0432\u044f\u0432\u0430\u043d\u0435 \u0441\u043f\u0440\u044f\u043c\u043e \u0431\u0430\u0437\u043e\u0432\u0438\u044f \u0435\u043a\u0440\u0430\u043d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2252\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-scaled.png\" alt=\"WP_DEBUG output \u043f\u0440\u0435\u0437 Acorn \u0441 whoops: \u043f\u043e-\u0434\u043e\u0431\u0440\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0438 \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u044f \u0440\u0435\u0436\u0438\u043c\" class=\"wp-image-116\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-scaled.png 2560w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-300x264.png 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-1024x901.png 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-768x676.png 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-1536x1351.png 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-2048x1802.png 2048w, https:\/\/helloblog.io\/app\/uploads\/sites\/21\/2026\/01\/wp_debug-acorn-whoops-400x352.png 400w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption class=\"wp-element-caption\">Whoops \u0435 \u0440\u0430\u0431\u043e\u0442\u0435\u0449\u0430 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430, \u043d\u043e \u043f\u0440\u0438 Acorn v3 \u0444\u043e\u043a\u0443\u0441\u044a\u0442 \u0435 \u0432\u044a\u0440\u0445\u0443 Ignition. \u2014 <em>Forr\u00e1s: Roots.io<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0410\u043a\u043e \u043d\u0435 \u043f\u043e\u043b\u0437\u0432\u0430\u0448 Acorn: \u043f\u043b\u044a\u0433\u0438\u043d\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u043c\u0430\u0433\u0430\u0442 \u043f\u0440\u0438 debugging<\/h2>\n\n\n\n<p>\u041d\u0435 \u0432\u0441\u0435\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u0435 \u0441 Acorn\/Bedrock \u0438 \u0442\u043e\u0432\u0430 \u0435 \u043e\u043a\u0435\u0439. \u0410\u043a\u043e \u0441\u0438 \u043d\u0430 \u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0430 WordPress \u0438\u043d\u0441\u0442\u0430\u043b\u0430\u0446\u0438\u044f, \u043f\u0430\u043a \u043c\u043e\u0436\u0435\u0448 \u0434\u0430 \u0441\u0438 \u043f\u043e\u0434\u043e\u0431\u0440\u0438\u0448 debugging-\u0430 \u0441 \u0443\u0442\u0432\u044a\u0440\u0434\u0435\u043d\u0438 \u043f\u043b\u044a\u0433\u0438\u043d\u0438, \u043a\u043e\u0438\u0442\u043e \u0434\u0430\u0432\u0430\u0442 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0430 \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u044f \u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 (\u0437\u0430\u044f\u0432\u043a\u0438 \u043a\u044a\u043c \u0431\u0430\u0437\u0430\u0442\u0430, hooks, HTTP \u0437\u0430\u044f\u0432\u043a\u0438 \u0438 \u0434\u0440.).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><a href=\"https:\/\/querymonitor.com\/\">Query Monitor<\/a> \u2014 \u0435\u0434\u0438\u043d \u043e\u0442 \u043d\u0430\u0439-\u043f\u043e\u043b\u0435\u0437\u043d\u0438\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438 \u0437\u0430 \u043b\u043e\u043a\u0430\u043b\u043d\u0430 WordPress \u0441\u0440\u0435\u0434\u0430.<\/li>\n\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar\/\">Debug Bar<\/a> \u2014 \u043a\u043b\u0430\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430 \u0431\u0430\u0437\u043e\u0432\u0430 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u041a\u0440\u0430\u0442\u043a\u043e \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u0438\u0435: \u043a\u0430\u043a\u0432\u043e \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0448 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>\u0412\u0438\u043d\u0430\u0433\u0438 \u0434\u0440\u044a\u0436 <code>WP_DEBUG<\/code> \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043b\u043e\u043a\u0430\u043b\u043d\u043e, \u0437\u0430 \u0434\u0430 \u0445\u0432\u0430\u0449\u0430\u0448 notices\/warnings \u043d\u0430\u0432\u0440\u0435\u043c\u0435.<\/li>\n\n\n<li>\u0410\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0438\u0448 \u0441 Acorn, \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u0448 \u043f\u043e-\u0447\u0435\u0442\u0438\u043c\u0438 exception \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 \u043e\u0449\u0435 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 (Symfony handler), \u043a\u043e\u0433\u0430\u0442\u043e <code>WP_DEBUG<\/code> \u0438 <code>WP_DEBUG_DISPLAY<\/code> \u0441\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0438.<\/li>\n\n\n<li>\u0417\u0430 \u043d\u0430\u0439-\u0434\u043e\u0431\u0440\u043e debugging \u0438\u0437\u0436\u0438\u0432\u044f\u0432\u0430\u043d\u0435 \u0432 Acorn-\u0431\u0430\u0437\u0438\u0440\u0430\u043d\u0438 WordPress \u043f\u0440\u043e\u0435\u043a\u0442\u0438, \u0434\u043e\u0431\u0430\u0432\u0438 Ignition \u043a\u0430\u0442\u043e dev dependency \u0447\u0440\u0435\u0437 Composer.<\/li>\n\n\n<li>\u0410\u043a\u043e \u043d\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0448 Acorn, Query Monitor \u0438 Debug Bar \u0441\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u0438 \u0430\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0438 \u0437\u0430 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430.<\/li>\n\n<\/ol>\n\n\n<div class=\"references-section\">\n                <h2>\u041f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0438 \/ \u0418\u0437\u0442\u043e\u0447\u043d\u0438\u0446\u0438<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/roots.io\/better-wordpress-debugging-with-acorn\/\" target=\"_blank\" rel=\"noopener noreferrer\">Better WordPress Debugging with Acorn<\/a><\/li><li><a href=\"https:\/\/roots.io\/bedrock\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bedrock<\/a><\/li><li><a href=\"https:\/\/querymonitor.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Query Monitor<\/a><\/li><li><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar\/\" target=\"_blank\" rel=\"noopener noreferrer\">Debug Bar<\/a><\/li><li><a href=\"https:\/\/github.com\/filp\/whoops\" target=\"_blank\" rel=\"noopener noreferrer\">whoops<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>WP_DEBUG \u0432\u044a\u0440\u0448\u0438 \u0440\u0430\u0431\u043e\u0442\u0430, \u043d\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u0438\u044f\u0442 \u043c\u0443 \u0438\u0437\u0445\u043e\u0434 \u0447\u0435\u0441\u0442\u043e \u0435 \u0448\u0443\u043c\u0435\u043d \u0438 \u0442\u0440\u0443\u0434\u0435\u043d \u0437\u0430 \u0447\u0435\u0442\u0435\u043d\u0435. \u0421 Acorn \u043c\u043e\u0436\u0435\u0448 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0448 \u043c\u043e\u0434\u0435\u0440\u043d\u0438 error pages \u0432 WordPress \u0438 \u0434\u0430 \u0434\u0435\u0431\u044a\u0433\u0432\u0430\u0448 \u043c\u043d\u043e\u0433\u043e \u043f\u043e-\u0431\u044a\u0440\u0437\u043e \u043b\u043e\u043a\u0430\u043b\u043d\u043e.<\/p>\n","protected":false},"author":39,"featured_media":112,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[4,64,73,9,72],"class_list":["post-117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ekosistema-wordpress","tag-acorn","tag-bedrock","tag-debugging","tag-wordpress","tag-wp_debug"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/posts\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":1,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/posts\/117\/revisions"}],"predecessor-version":[{"id":131,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/posts\/117\/revisions\/131"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/media?parent=117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/categories?post=117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/bg\/wp-json\/wp\/v2\/tags?post=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}