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

WordPress Trac noreply at wordpress.org
Wed Aug 24 13:09:17 UTC 2022


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

Comment (by SergeyBiryukov):

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

 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_create_update_post_with_featured_media()` method creates an
 attachment and writes the ID of the attachment to a dynamic (undeclared)
 property to be used as a flag to determine whether attachments need to be
 cleaned up after the test in the `tear_down()` method.

 As the actual ''value'' of the property is irrelevant for the cleaning up
 and the property is realistically being used as a “flag”, this is now
 fixed as follows:

 * Have an actual “flag” property declared with a descriptive name —
 `$attachments_created` — to make the code in the `tear_down()` more easily
 understandable.
 * As for the actual ID of the attachment, save that to a test method local
 variable as that is the only place where it has any relevance.

 Includes moving the `tear_down()` method up to be directly below the
 `set_up()` method.

 Follow-up to [38832], [53557], [53558], [53850], [53851], [53852],
 [53853], [53854], [53856], [53916].

 Props jrf.
 See #56033.
 }}}

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


More information about the wp-trac mailing list