Page MenuHomePhabricator

Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead (from Site/SiteList.php:256)
Closed, ResolvedPublic

Description

  • mediawiki/core locally running PHP 8.5
  • composer phpunit:entrypoint -- --filter SiteListTest
1) MediaWiki\Tests\Site\SiteListTest::testSerialization with data set #0 (MediaWiki\Site\SiteList Object (...))
Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead

/[...]/mediawiki/core/includes/Site/SiteList.php:256
/[...]/mediawiki/core/tests/phpunit/includes/Site/SiteListTest.php:198

2) MediaWiki\Tests\Site\SiteListTest::testSerialization with data set #1 (MediaWiki\Site\SiteList Object (...))
Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead

/[...]/mediawiki/core/includes/Site/SiteList.php:256
/[...]/mediawiki/core/tests/phpunit/includes/Site/SiteListTest.php:198

3) MediaWiki\Tests\Site\SiteListTest::testSerialization with data set #2 (MediaWiki\Site\SiteList Object (...))
Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead

/[...]/mediawiki/core/includes/Site/SiteList.php:256
/[...]/mediawiki/core/tests/phpunit/includes/Site/SiteListTest.php:198

(note: not yet seen in WMF experimental CI due to the order in which it runs MediaWiki's PHPUnit tests, but it presumably would be seen there at some point)

Event Timeline

The code in question here is:

includes/Site/SiteList.php; lines 248-257
	/**
	 * Returns if the list contains the site with the provided site id.
	 *
	 * @param int $id
	 *
	 * @return bool
	 */
	public function hasInternalId( $id ) {
		return array_key_exists( $id, $this->byInternalId );
	}
tests/phpunit/includes/Site/SiteListTest.php; line 198
			$this->assertTrue( $copy->hasInternalId( $site->getInternalId() ) );

See also T413579: Using null as an array offset is deprecated, use an empty string instead in SiteList

Umherirrender claimed this task.
Umherirrender subscribed.

Fixed as part of T413579