{"id":1331,"date":"2026-05-30T18:00:00","date_gmt":"2026-05-30T17:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1331"},"modified":"2026-05-30T18:50:52","modified_gmt":"2026-05-30T18:50:52","slug":"php-8-5-deprecations-are-a-good-upgrade-checklist","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/","title":{"rendered":"PHP 8.5 Deprecations Are a Good Upgrade Checklist"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg\" alt=\"A warning sign reflected in sunglasses\" style=\"float:left; width:280px; max-width:40%; height:auto; margin:0 1rem 1rem 0;\" loading=\"lazy\" \/><\/p>\n<p>Deprecations are annoying when you first see them in a test run, but they are also one of the best upgrade tools PHP gives us. PHP 8.5 is a good example: the useful thing is not the warning itself, it is the checklist it creates before PHP 9 turns some of this into real breakage.<\/p>\n<p>The <a href=\"https:\/\/php.watch\/versions\/8.5\">PHP 8.5 change list on PHP.Watch<\/a> includes deprecations for non-canonical scalar casts like <code>boolean<\/code> and <code>integer<\/code>, old aliases such as <code>mysqli_execute<\/code>, no-op cleanup functions including <code>curl_close<\/code>, <code>curl_share_close<\/code>, and <code>xml_parser_free<\/code>, plus a few older constants and output-buffer behaviours. None of that is glamorous work.<\/p>\n<p>That is exactly why it is worth doing early. These are the changes that tend to sit in forgotten corners: old helper libraries, vendor-adjacent glue, migration scripts, and code that has not been touched because it has not failed yet. A deprecation warning gives you a cheap way to find those places while the application still runs.<\/p>\n<p>I would treat PHP 8.5 deprecations as maintenance work, not release noise. Run the test suite with warnings visible, clean the simple replacements first, and write down the bits that need more care. It is less exciting than arguing about syntax online, but it is also much more likely to save your afternoon later.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP 8.5 deprecations are useful because they turn vague upgrade risk into a concrete cleanup list before PHP 9.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[28,13],"tags":[173,35,36,153],"class_list":["post-1331","post","type-post","status-publish","format-standard","hentry","category-php","category-programming","tag-deprecations","tag-php","tag-php-8-5","tag-upgrades"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP 8.5 Deprecations Are a Good Upgrade Checklist - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.5 Deprecations Are a Good Upgrade Checklist - wade.one\" \/>\n<meta property=\"og:description\" content=\"PHP 8.5 deprecations are useful because they turn vague upgrade risk into a concrete cleanup list before PHP 9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-30T17:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T18:50:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg\" \/>\n<meta name=\"author\" content=\"Wade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/\"},\"author\":{\"name\":\"Wade\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\"},\"headline\":\"PHP 8.5 Deprecations Are a Good Upgrade Checklist\",\"datePublished\":\"2026-05-30T17:00:00+00:00\",\"dateModified\":\"2026-05-30T18:50:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/\"},\"wordCount\":208,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/codex-1f502ef115fd-01-warning-signs.jpg\",\"keywords\":[\"deprecations\",\"php\",\"php-8-5\",\"upgrades\"],\"articleSection\":[\"PHP\",\"Programming\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/\",\"name\":\"PHP 8.5 Deprecations Are a Good Upgrade Checklist - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/codex-1f502ef115fd-01-warning-signs.jpg\",\"datePublished\":\"2026-05-30T17:00:00+00:00\",\"dateModified\":\"2026-05-30T18:50:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/codex-1f502ef115fd-01-warning-signs.jpg\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/codex-1f502ef115fd-01-warning-signs.jpg\",\"caption\":\"A warning sign reflected in sunglasses\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/05\\\/30\\\/php-8-5-deprecations-are-a-good-upgrade-checklist\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP 8.5 Deprecations Are a Good Upgrade Checklist\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\",\"name\":\"Wade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"caption\":\"Wade\"},\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/author\\\/wade\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP 8.5 Deprecations Are a Good Upgrade Checklist - wade.one","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:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/","og_locale":"en_GB","og_type":"article","og_title":"PHP 8.5 Deprecations Are a Good Upgrade Checklist - wade.one","og_description":"PHP 8.5 deprecations are useful because they turn vague upgrade risk into a concrete cleanup list before PHP 9.","og_url":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/","og_site_name":"wade.one","article_published_time":"2026-05-30T17:00:00+00:00","article_modified_time":"2026-05-30T18:50:52+00:00","og_image":[{"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg","type":"","width":"","height":""}],"author":"Wade","twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Written by":"Wade","Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/"},"author":{"name":"Wade","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de"},"headline":"PHP 8.5 Deprecations Are a Good Upgrade Checklist","datePublished":"2026-05-30T17:00:00+00:00","dateModified":"2026-05-30T18:50:52+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/"},"wordCount":208,"commentCount":0,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"image":{"@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg","keywords":["deprecations","php","php-8-5","upgrades"],"articleSection":["PHP","Programming"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/","url":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/","name":"PHP 8.5 Deprecations Are a Good Upgrade Checklist - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#primaryimage"},"image":{"@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg","datePublished":"2026-05-30T17:00:00+00:00","dateModified":"2026-05-30T18:50:52+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#primaryimage","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2026\/05\/codex-1f502ef115fd-01-warning-signs.jpg","caption":"A warning sign reflected in sunglasses"},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/05\/30\/php-8-5-deprecations-are-a-good-upgrade-checklist\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP 8.5 Deprecations Are a Good Upgrade Checklist"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}},{"@type":"Person","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de","name":"Wade","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","caption":"Wade"},"url":"https:\/\/wade.one\/blog\/author\/wade\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1301,"url":"https:\/\/wade.one\/blog\/2026\/05\/13\/php-8-5-is-a-good-upgrade-because-it-is-mostly-practical\/","url_meta":{"origin":1331,"position":0},"title":"PHP 8.5 Is a Good Upgrade Because It Is Mostly Practical","author":"Wade","date":"May 13, 2026","format":false,"excerpt":"PHP 8.5 is not interesting because of one huge feature. It is interesting because many of the changes remove everyday friction.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1152,"url":"https:\/\/wade.one\/blog\/2026\/03\/25\/php-8-5-4-released-upgrade-if-you-re-on-8-5\/","url_meta":{"origin":1331,"position":1},"title":"PHP 8.5.4 Released: Upgrade if You&#8217;re on 8.5","author":"","date":"March 25, 2026","format":false,"excerpt":"PHP 8.5.4 is a bug-fix release, not a feature release. If you are already on PHP 8.5, you should update. If you are still on 8.4, this alone is not the reason to jump.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1140,"url":"https:\/\/wade.one\/blog\/2023\/04\/08\/upgrading-to-php-8-what-you-need-to-know\/","url_meta":{"origin":1331,"position":2},"title":"Upgrading to PHP 8: What You Need to Know","author":"Wade","date":"April 8, 2023","format":false,"excerpt":"Are you considering upgrading your website's PHP version from 7.x to 8.x? While upgrading can offer benefits like improved performance and security, it's important to be aware of potential compatibility issues that may arise. In this post, we'll explore some things to consider before making the switch. Deprecated Functions and\u2026","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1299,"url":"https:\/\/wade.one\/blog\/2026\/05\/11\/php-8-5-nodiscard-is-a-small-api-safety-feature\/","url_meta":{"origin":1331,"position":3},"title":"PHP 8.5 NoDiscard Is a Small API Safety Feature","author":"Wade","date":"May 11, 2026","format":false,"excerpt":"PHP 8.5's NoDiscard attribute gives library and application code a direct way to say that ignoring a return value is probably a bug.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1300,"url":"https:\/\/wade.one\/blog\/2026\/05\/12\/php-8-5-fatal-error-backtraces-are-an-operations-feature\/","url_meta":{"origin":1331,"position":4},"title":"PHP 8.5 Fatal Error Backtraces Are an Operations Feature","author":"","date":"May 12, 2026","format":false,"excerpt":"PHP 8.5 adding backtraces to fatal errors is a practical production debugging improvement, not just nicer developer output.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1296,"url":"https:\/\/wade.one\/blog\/2026\/05\/08\/php-8-5s-uri-extension-fixes-a-real-web-problem\/","url_meta":{"origin":1331,"position":5},"title":"PHP 8.5&#8217;s URI Extension Fixes a Real Web Problem","author":"","date":"May 8, 2026","format":false,"excerpt":"PHP 8.5's new URI extension is not flashy, but it gives PHP a better built-in answer for parsing modern URLs.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1331"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1331\/revisions"}],"predecessor-version":[{"id":1354,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1331\/revisions\/1354"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}