From 0746cc7324b4b025d1ad3f2afeeb2aadd7d1d19f Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Fri, 12 May 2023 08:49:13 +0000 Subject: [PATCH] Code Modernization: Explicitly declare all properties in `Text_Diff_Engine_native`. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0. There are a number of ways to mitigate this: * If it is an accidental typo for a declared property: fix the typo. * For known properties: declare them on the class. * For unknown properties: add the magic `__get()`, `__set()`, et al. methods to the class or let the class extend `stdClass` which has highly optimized versions of these magic methods built in. * For unknown ''use'' of dynamic properties, the `#[AllowDynamicProperties]` attribute can be added to the class. The attribute will automatically be inherited by child classes. In this case, the properties, as used in the class methods, fall in the “known property” category. Reference: [https://wiki.php.net/rfc/deprecate_dynamic_properties PHP RFC: Deprecate dynamic properties]. Follow-up to [53942], [53948], [53949], [53952], [53953], [53954], [53957], [54037]. Props jrf, thomask. See #58298. git-svn-id: https://develop.svn.wordpress.org/trunk@55752 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/Text/Diff/Engine/native.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/wp-includes/Text/Diff/Engine/native.php b/src/wp-includes/Text/Diff/Engine/native.php index e6fa9758a3..b3d8441a58 100644 --- a/src/wp-includes/Text/Diff/Engine/native.php +++ b/src/wp-includes/Text/Diff/Engine/native.php @@ -28,6 +28,16 @@ */ class Text_Diff_Engine_native { + public $xchanged; + public $ychanged; + public $xv; + public $yv; + public $xind; + public $yind; + public $seq; + public $in_seq; + public $lcs; + function diff($from_lines, $to_lines) { array_walk($from_lines, array('Text_Diff', 'trimNewlines'));