{"id":12852,"date":"2016-06-01T15:00:12","date_gmt":"2016-06-01T12:00:12","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=12852"},"modified":"2018-01-09T10:53:38","modified_gmt":"2018-01-09T08:53:38","slug":"php-showdisplay-errors-example","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/","title":{"rendered":"PHP Show\/Display Errors Example"},"content":{"rendered":"<p>PHP gives the possibility to configure how and which errors are displayed; as it&#8217;s an interpreted language, it&#8217;s not as strict as compiled languages. In this example we will see how we can configure PHP for that.<\/p>\n<p>For this example, we will use:<\/p>\n<ul>\n<li>Ubuntu (14.04) as Operating System.<\/li>\n<li>Apache HTTP server (2.4.7).<\/li>\n<li>PHP (5.5.9).<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\n[ulp id=&#8217;8njY7i2QRy6sg8pg&#8217;]<\/p>\n<div class=\"tip\"><strong>Tip<\/strong><br \/>\nYou may skip environment configuration and jump directly to the <a href=\"#section2\"><strong>beginning of the example<\/strong><\/a> below.<\/div>\n<h2>1. Preparing the environment<\/h2>\n<p>Below, commands to install Apache and PHP are shown:<\/p>\n<pre class=\"brush:bash\">sudo apt-get update\r\nsudo apt-get install apache2 php5 libapache2-mod-php5\r\nsudo service apache2 restart<\/pre>\n<h2 id=\"section2\">2. Different error levels in PHP<\/h2>\n<p>PHP has the following error levels, all of them generated at runtime:<\/p>\n<ul>\n<li>Notices: like small errors. They won&#8217;t stop the script execution, but they may be an error source in other parts of the program.<\/li>\n<li>Warnings: more serious errors, but that won&#8217;t neither stop the execution. Actually, the only difference with notices is the interpretation that PHP makes of the gravity of the error.<\/li>\n<li>Execution errors: fatal errors, such as calling non-existing functions, that will cause the script execution end.<\/li>\n<li>Parse errors: language syntax errors, like forgetting a semicolon after a statement.<\/li>\n<\/ul>\n<p>The classification PHP makes of notices and warnings is quite odd, since they don&#8217;t stop the script execution, but they both can be the source of a more serious error.<\/p>\n<p>There are also other errors, such us for notifying about the use of deprecated built-in elements, that will be removed from future PHP versions; or for suggesting changes in code for its better fitting for future versions.<\/p>\n<h2>3. Configuring the errors displayed<\/h2>\n<p>The configuration of the errors displayed by PHP is made in its configuration file, in <code>\/etc\/php5\/apache2\/php.ini<\/code>.<\/p>\n<p>First of all, we have to ensure that the errors will be displayed, with the following directive:<\/p>\n<pre class=\"brush:bash\">display_errors = On<\/pre>\n<p>The directive for configuring the reporting error levels is <code>error_reporting<\/code>. To show every error, we would set as:<\/p>\n<pre class=\"brush:bash\">error_reporting = E_ALL<\/pre>\n<h3>3.1. Combining displaying error levels<\/h3>\n<p>Even if it is not usual, is possible to combine error types.<\/p>\n<p>Actually, the error directive is expecting a bitmask. So, for combining different error types, we have to use the bitwise operators: <code>&amp;<\/code> (and), <code>|<\/code> (or), <code>~<\/code> (not), and <code>^<\/code> (xor, exclusive or).<\/p>\n<p>For example, for showing only notices and warnings, we have to set:<\/p>\n<pre class=\"brush:bash\">error_reporting = E_NOTICE | E_WARNING<\/pre>\n<p>Or, for showing every error but ignoring the notices:<\/p>\n<pre class=\"brush:bash\">error_reporting = E_ALL ^ E_NOTICE<\/pre>\n<h2>4. Catching these errors in PHP code<\/h2>\n<p>You probably have ever asked yourself why isn&#8217;t it possible to handle that errors in the code, as exceptions in a try-catch.<\/p>\n<p>This is possible, setting a custom error handler, that will be able to handle these notices, warnings and errors in the code, which may result useful.<\/p>\n<p>For that, first, we need to define a function for the handling:<\/p>\n<p><span style=\"text-decoration: underline;\"><em>custom_error_handler.php<\/em><\/span><\/p>\n<pre class=\"brush:php;highlight:[3,8]\">&lt;?php\r\n\r\nfunction nonFatalErrorHandler($errorNumber, $errorMessage, $errorFile, $errorLine) {\r\n\u00a0\u00a0\u00a0 echo \"Catching a non fatal '$errorNumber' error '$errorMessage'in $errorFile file, \"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 . \"in line $errorLine.&lt;br&gt;\";\r\n}\r\n\r\nfunction fatalErrorHandler() {\r\n\u00a0\u00a0\u00a0 $error = error_get_last();\r\n\r\n\u00a0\u00a0\u00a0 $errorNumber = $error['type'];\r\n\u00a0\u00a0\u00a0 $errorMessage = $error['message'];\r\n\u00a0\u00a0\u00a0 $errorFile = $error['file'];\r\n\u00a0\u00a0\u00a0 $errorLine = $error['line'];\r\n\r\n\u00a0\u00a0\u00a0 echo \"Catching a fatal '$errorNumber' error '$errorMessage' in $errorFile file, \"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 . \"in line $errorLine.&lt;br&gt;\";\r\n}<\/pre>\n<p>The non-fatal and fatal errors are handled differently, so we coded two functions, in lines 3 and 8.<\/p>\n<p>Then, we have to set these handlers:<\/p>\n<p><span style=\"text-decoration: underline;\"><em>naive_script.php<\/em><\/span><\/p>\n<pre class=\"brush:php;highlight:[5,6]\">&lt;?php\r\n\r\nrequire_once('custom_error_handler.php');\r\n\r\nset_error_handler('nonFatalErrorHandler');\r\nregister_shutdown_function('fatalErrorHandler');\r\n\r\necho $undefined;\r\nrequire('undefined.php');\r\nundefined();<\/pre>\n<p>In lines 5 and 6, we pass the defined functions in previous file as callbacks, for each error type. After, the script will generate different types of errors, to test that our handlers are working.<\/p>\n<p><strong>Note<\/strong>: if PHP is configured to display errors, it will display the fatal ones as it does by default, even if we have defined a custom handler.<\/p>\n<h2>5. How should you configure the error displaying?<\/h2>\n<p>The general rule is:<\/p>\n<ul>\n<li><strong>For development environments, display every error<\/strong>. That will help us to write code that fits with PHP rules.<\/li>\n<li><strong>For production environments, don&#8217;t display any error<\/strong>. The errors can show information that the user shouldn&#8217;t know, such us server paths, files, Operating System that can be deduced from the paths, or any other information that shouldn&#8217;t be displayed.<\/li>\n<\/ul>\n<h2>6. Download the source code<\/h2>\n<p>This was an example of error displaying in PHP.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>\nYou can download the full source code of this example here: <a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/05\/PHPShow-DisplayErrorsExample.zip\"><strong>PHPShow-DisplayErrorsExample<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>PHP gives the possibility to configure how and which errors are displayed; as it&#8217;s an interpreted language, it&#8217;s not as strict as compiled languages. In this example we will see how we can configure PHP for that. For this example, we will use: Ubuntu (14.04) as Operating System. Apache HTTP server (2.4.7). PHP (5.5.9). &nbsp; &hellip;<\/p>\n","protected":false},"author":160,"featured_media":930,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-12852","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP Show\/Display Errors Example - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"PHP gives the possibility to configure how and which errors are displayed; as it&#039;s an interpreted language, it&#039;s not as strict as compiled languages. In\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP Show\/Display Errors Example - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"PHP gives the possibility to configure how and which errors are displayed; as it&#039;s an interpreted language, it&#039;s not as strict as compiled languages. In\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-01T12:00:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-01-09T08:53:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Toni\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Toni\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\"},\"author\":{\"name\":\"Toni\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/54a7be647b0b871cff41cbf3d2a95966\"},\"headline\":\"PHP Show\/Display Errors Example\",\"datePublished\":\"2016-06-01T12:00:12+00:00\",\"dateModified\":\"2018-01-09T08:53:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\"},\"wordCount\":634,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg\",\"articleSection\":[\"PHP\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\",\"name\":\"PHP Show\/Display Errors Example - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg\",\"datePublished\":\"2016-06-01T12:00:12+00:00\",\"dateModified\":\"2018-01-09T08:53:38+00:00\",\"description\":\"PHP gives the possibility to configure how and which errors are displayed; as it's an interpreted language, it's not as strict as compiled languages. In\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/php\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PHP Show\/Display Errors Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/54a7be647b0b871cff41cbf3d2a95966\",\"name\":\"Toni\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g\",\"caption\":\"Toni\"},\"url\":\"https:\/\/www.webcodegeeks.com\/author\/julen-pardo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP Show\/Display Errors Example - Web Code Geeks - 2026","description":"PHP gives the possibility to configure how and which errors are displayed; as it's an interpreted language, it's not as strict as compiled languages. In","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/","og_locale":"en_US","og_type":"article","og_title":"PHP Show\/Display Errors Example - Web Code Geeks - 2026","og_description":"PHP gives the possibility to configure how and which errors are displayed; as it's an interpreted language, it's not as strict as compiled languages. In","og_url":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2016-06-01T12:00:12+00:00","article_modified_time":"2018-01-09T08:53:38+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg","type":"image\/jpeg"}],"author":"Toni","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Toni","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/"},"author":{"name":"Toni","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/54a7be647b0b871cff41cbf3d2a95966"},"headline":"PHP Show\/Display Errors Example","datePublished":"2016-06-01T12:00:12+00:00","dateModified":"2018-01-09T08:53:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/"},"wordCount":634,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg","articleSection":["PHP"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/","url":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/","name":"PHP Show\/Display Errors Example - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg","datePublished":"2016-06-01T12:00:12+00:00","dateModified":"2018-01-09T08:53:38+00:00","description":"PHP gives the possibility to configure how and which errors are displayed; as it's an interpreted language, it's not as strict as compiled languages. In","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/php-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/php\/php-showdisplay-errors-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"PHP","item":"https:\/\/www.webcodegeeks.com\/category\/php\/"},{"@type":"ListItem","position":3,"name":"PHP Show\/Display Errors Example"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/54a7be647b0b871cff41cbf3d2a95966","name":"Toni","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g","caption":"Toni"},"url":"https:\/\/www.webcodegeeks.com\/author\/julen-pardo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/12852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=12852"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/12852\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/930"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=12852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=12852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=12852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}