[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