[wp-trac] [WordPress Trac] #62061: Prepare for PHP 8.4

WordPress Trac noreply at wordpress.org
Fri Sep 27 18:17:23 UTC 2024


#62061: Prepare for PHP 8.4
---------------------------------------------+-----------------------------
 Reporter:  jrf                              |       Owner:  (none)
     Type:  task (blessed)                   |      Status:  new
 Priority:  normal                           |   Milestone:  6.7
Component:  General                          |     Version:
 Severity:  normal                           |  Resolution:
 Keywords:  php-84 has-patch has-unit-tests  |     Focuses:  php-
                                             |  compatibility
---------------------------------------------+-----------------------------

Comment (by hellofromTonya):

 In [changeset:"59106" 59106]:
 {{{
 #!CommitTicketReference repository="" revision="59106"
 Code Modernization: Fix trigger_error() with E_USER_ERROR deprecation in
 Text_Diff_Op::reverse().

 PHP 8.4 deprecates the use of `trigger_errror()` with `E_USER_ERROR` as
 the error level, as there are a number of gotchas to this way of creating
 a `Fatal Error` (`finally` blocks not executing, destructors not
 executing).
 The recommended replacements are either to use exceptions or to do a hard
 `exit`.

 This is an unmaintained external dependency; thus, the fix is made in the
 WP specific copy of the dependency.

 As `trigger_error()` call looks to be a remnant of the PHP 4 era before a
 class could be declared as `abstract`, fixed by making both the method as
 well as the class `abstract` and removing the call to `trigger_error()`.

 Ref:
 *
 https://wiki.php.net/rfc/deprecations_php_8_4#deprecate_passing_e_user_error_to_trigger_error
 * https://www.php.net/manual/en/migration80.incompatible.php

 Follow-up to [7747].

 Props jrf.
 See #62061.
 }}}

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


More information about the wp-trac mailing list