Make WordPress Core


Ignore:
Timestamp:
09/09/2021 06:35:34 PM (3 years ago)
Author:
hellofromTonya
Message:

Code Modernization: Fix parameter name mismatches for parent/child classes in WP_REST_Controller::prepare_item_for_response().

In each child and grandchild class, renames the first parameter to match the parent's method signature.

Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.

Changes for readability:

  • @since clearly specifies the original parameter name and its new name as well as why the change happened.
  • In methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.

Follow-up to [38832], [39011], [39015], [39021], [39024], [39025], [39031], [39036], [43519], [43735], [43739], [43768], [46821], [48173], [48242], [49088], [50995], [51003], [51021].

Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php

    r51302 r51786  
    187187     * @since 5.0.0
    188188     * @since 5.6.0 The `$id` parameter can accept a string.
    189      *
    190      * @param int|string      $id      ID of the item to prepare.
     189     * @since 5.9.0 Renamed `$id` to `$item` to match parent class for PHP 8 named parameter support.
     190     *
     191     * @param int|string      $item    ID of the item to prepare.
    191192     * @param WP_REST_Request $request Request object.
    192193     * @return WP_REST_Response Response object.
    193194     */
    194     public function prepare_item_for_response( $id, $request ) {
     195    public function prepare_item_for_response( $item, $request ) {
     196        // Restores the more descriptive, specific name for use within this method.
     197        $item_id = $item;
    195198        $handler = $this->get_search_handler( $request );
    196199        if ( is_wp_error( $handler ) ) {
     
    200203        $fields = $this->get_fields_for_response( $request );
    201204
    202         $data = $handler->prepare_item( $id, $fields );
     205        $data = $handler->prepare_item( $item_id, $fields );
    203206        $data = $this->add_additional_fields_to_object( $data, $request );
    204207
     
    208211        $response = rest_ensure_response( $data );
    209212
    210         $links               = $handler->prepare_item_links( $id );
     213        $links               = $handler->prepare_item_links( $item_id );
    211214        $links['collection'] = array(
    212215            'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
Note: See TracChangeset for help on using the changeset viewer.