Opened 8 months ago
Closed 8 months ago
#63977 closed defect (bug) (fixed)
PHP 8.5: Interactivity API: Cannot use bool as array
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Milestone: | 6.9 | Priority: | normal |
| Severity: | normal | Version: | |
| Component: | Interactivity API | Keywords: | php85 has-patch |
| Focuses: | php-compatibility | Cc: |
Description
Parent ticket for all things PHP 8.5: #63061
Here's the error output when running unit tests against PHP 8.5:
4) Tests_Interactivity_API_WpInteractivityAPI::test_process_directives_doesnt_change_html_if_contains_unbalanced_tags with data set "DIV closer after" ('<div data-wp-bind--id="myPlug...</div>')
Cannot use bool as array
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:426
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:370
/var/www/tests/phpunit/tests/interactivity-api/wpInteractivityAPI.php:823
/var/www/vendor/bin/phpunit:122
5) Tests_Interactivity_API_WpInteractivityAPI::test_process_directives_doesnt_change_html_if_contains_unbalanced_tags with data set "DIV closer before" ('</div><div data-wp-bind--id="...</div>')
Cannot use bool as array
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:426
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:370
/var/www/tests/phpunit/tests/interactivity-api/wpInteractivityAPI.php:823
/var/www/vendor/bin/phpunit:122
6) Tests_Interactivity_API_WpInteractivityAPI::test_process_directives_doesnt_change_html_if_contains_unbalanced_tags with data set "DIV closer inside" ('<div data-wp-bind--id="myPlug...</div>')
Cannot use bool as array
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:426
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:370
/var/www/tests/phpunit/tests/interactivity-api/wpInteractivityAPI.php:823
/var/www/vendor/bin/phpunit:122
7) Tests_Interactivity_API_WpInteractivityAPI::test_process_directives_doesnt_change_html_if_contains_unbalanced_tags with data set "SPAN closer after" ('<div data-wp-bind--id="myPlug.../span>')
Cannot use bool as array
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:426
/var/www/src/wp-includes/interactivity-api/class-wp-interactivity-api.php:370
/var/www/tests/phpunit/tests/interactivity-api/wpInteractivityAPI.php:823
/var/www/vendor/bin/phpunit:122
The issue is the list( $opening_tag_name, $directives_prefixes ) = end( $tag_stack ); line when $tag_stack is empty. end() returns false for empty arrays, but list() expects an array.
Change History (2)
This ticket was mentioned in PR #9889 on WordPress/wordpress-develop by @swissspidy.
8 months ago
#1
Note: See
TracTickets for help on using
tickets.
Can't use
listonfalseor empty array.This implicitly worked, but doesn't anymore on PHP 8.5
Trac ticket: https://core.trac.wordpress.org/ticket/63977