In PHP 7.3, compact() now raises notices if the variable is undefined, which
is something that we expect. So we can check whether the key exists instead
of bothering with compat() and suppressing warnings.
Bug: T206979
Change-Id: I612049db4debd850a2e6d10bc631d31aa17be898
(cherry picked from commit
d0463178dfa09b79b3a08fee939da1beed030824)
* (T109121) Remove deprecated pear/mail_mime-decode from composer suggested libraries.
* (T200595) Fix PHP 7.3 warnings of using "continue" in some scenarios instead
of "break".
* (T109121) Remove deprecated pear/mail_mime-decode from composer suggested libraries.
* (T200595) Fix PHP 7.3 warnings of using "continue" in some scenarios instead
of "break".
+* (T206979) Fix PHP 7.3 warnings of using "compact()" when some variables may
+ not be set.
ini_set( 'apc.cache_by_default', $_apcEnabled );
Wikimedia\restoreWarnings();
ini_set( 'apc.cache_by_default', $_apcEnabled );
Wikimedia\restoreWarnings();
if ( $_fileType == 'core' || $_fileType == 'extension' ) {
if ( $_fileType == 'core' || $_fileType == 'extension' ) {
- $data = compact( self::$allKeys );
+ foreach ( self::$allKeys as $key ) {
+ // Not all keys are set in language files, so
+ // check they exist first
+ if ( isset( $$key ) ) {
+ $data[$key] = $$key;
+ }
+ }
} elseif ( $_fileType == 'aliases' ) {
} elseif ( $_fileType == 'aliases' ) {
- $data = compact( 'aliases' );
+ if ( isset( $aliases ) ) {
+ /** @suppress PhanUndeclaredVariable */
+ $data['aliases'] = $aliases;
+ }
} else {
throw new MWException( __METHOD__ . ": Invalid file type: $_fileType" );
}
} else {
throw new MWException( __METHOD__ . ": Invalid file type: $_fileType" );
}