Skip to content

Commit

Permalink
Code Modernization: Explicitly declare all properties in AtomParser.
Browse files Browse the repository at this point in the history
Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.

There are a number of ways to mitigate this:
* If it's an accidental typo for a declared property: fix the typo.
* For known properties: declare them on the class.
* For unknown properties: add the magic `__get()`, `__set()` et al methods to the class or let the class extend `stdClass` which has highly optimized versions of these magic methods build in.
* For unknown _use of_ dynamic properties, the `#[AllowDynamicProperties]` attribute can be added to the class. The attribute will automatically be inherited by child classes.

In this case, the property added are explicitly referenced in this class, so fall in the "known property" category.

Refs:
* https://wiki.php.net/rfc/deprecate_dynamic_properties

Props jrf.
See #56034.

git-svn-id: https://develop.svn.wordpress.org/trunk@59058 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
hellofromtonya committed Sep 18, 2024
1 parent e6a8fdd commit 55aa76a
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/wp-includes/atomlib.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ class AtomParser {

var $feed;
var $current;
var $map_attrs_func;
var $map_xmlns_func;
var $error;
var $content;

/**
* PHP5 constructor.
Expand Down

0 comments on commit 55aa76a

Please sign in to comment.