[wp-trac] [WordPress Trac] #56033: PHP 8.2: explicitly declare all known properties

WordPress Trac noreply at wordpress.org
Thu Jun 23 15:01:34 UTC 2022

#56033: PHP 8.2: explicitly declare all known properties
 Reporter:  jrf                             |       Owner:  (none)
     Type:  task (blessed)                  |      Status:  new
 Priority:  normal                          |   Milestone:  6.1
Component:  General                         |     Version:
 Severity:  normal                          |  Resolution:
 Keywords:  has-patch php82 has-unit-tests  |     Focuses:

Comment (by SergeyBiryukov):

 In [changeset:"53558" 53558]:
 #!CommitTicketReference repository="" revision="53558"
 Code Modernization: Remove dynamic properties in `Tests_Media`.

 Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2
 and are expected to become a fatal error in PHP 9.0.

 In this particular case, the test class contains a `set_up()` method that
 sets a group of properties, which are ''used'' by the tests, but never
 ''changed'' by the tests.

 In other words, setting these properties in the `set_up()` is an
 unnecessary overhead and the properties should be changed to class

 * As the `$img_html` property, which was previously being set, is not
 actually used in any of the tests, that property has not been converted to
 a constant.
 * The values which were previously being set using a heredoc, now use a
 nowdoc (supported since PHP 5.3), as they don't contain any interpolation.
 * The use of constant scalar expressions (`IMG_URL`) and constant arrays
 (`IMG_META`) in class constants is supported since PHP 5.6.

 Follow-up to [711/tests], [1260/tests], [34855], [41724], [53557].

 Props jrf.
 See #56033.

Ticket URL: <https://core.trac.wordpress.org/ticket/56033#comment:25>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list