Make WordPress Core


Ignore:
Timestamp:
07/19/2024 11:42:14 PM (2 years ago)
Author:
dmsnell
Message:

HTML API: Add PHP type annotations.

This patch adds type annotations to internal and private methods of the HTML
API and the supporting WP_Token_Map. Annotations have not been added to the
public interfaces where it would likely crash a site if called wrong.

These annotations should help avoid unnecessary type-related bugs (as have
been uncovered in earlier work adding such annotations) and provide additional
guidance to developers when interacting with these classes in an IDE.

Developed in https://github.com/WordPress/wordpress-develop/pull/6753
Discussed in https://core.trac.wordpress.org/ticket/61399

Props dmsnell, jonsurrell.
See #61399.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/html-api/class-wp-html-decoder.php

    r58613 r58769  
    3232         * @return bool Whether the attribute value starts with the given string.
    3333         */
    34         public static function attribute_starts_with( $haystack, $search_text, $case_sensitivity = 'case-sensitive' ) {
     34        public static function attribute_starts_with( $haystack, $search_text, $case_sensitivity = 'case-sensitive' ): bool {
    3535                $search_length = strlen( $search_text );
    3636                $loose_case    = 'ascii-case-insensitive' === $case_sensitivity;
     
    9191         * @return string Decoded UTF-8 value of given text node.
    9292         */
    93         public static function decode_text_node( $text ) {
     93        public static function decode_text_node( $text ): string {
    9494                return static::decode( 'data', $text );
    9595        }
     
    111111         * @return string Decoded UTF-8 value of given attribute value.
    112112         */
    113         public static function decode_attribute( $text ) {
     113        public static function decode_attribute( $text ): string {
    114114                return static::decode( 'attribute', $text );
    115115        }
     
    134134         * @return string Decoded UTF-8 string.
    135135         */
    136         public static function decode( $context, $text ) {
     136        public static function decode( $context, $text ): string {
    137137                $decoded = '';
    138138                $end     = strlen( $text );
     
    422422         * @return string Converted code point, or `�` if invalid.
    423423         */
    424         public static function code_point_to_utf8_bytes( $code_point ) {
     424        public static function code_point_to_utf8_bytes( $code_point ): string {
    425425                // Pre-check to ensure a valid code point.
    426426                if (
Note: See TracChangeset for help on using the changeset viewer.