Replace gettype() with get_debug_type() in exception messages etc.

get_debug_type() does the same thing but better (spelling type names
in the same way as in type declarations, and including names of
object classes and resource types). It was added in PHP 8, but the
symfony/polyfill-php80 package provides it while we still support 7.4.

Also remove uses of get_class() where the new method already provides
the same information.

For reference:
https://www.php.net/manual/en/function.get-debug-type.php
https://www.php.net/manual/en/function.gettype.php

Change-Id: I54c2bf287b185e2526b0a8556166fd62182b2235
This commit is contained in:
Bartosz Dziewoński 2024-08-12 22:56:28 +02:00
parent d9aef933bb
commit 22b05a1e3f
3 changed files with 4 additions and 4 deletions

View file

@ -57,7 +57,7 @@ class CachedList implements ContainmentList {
if ( !is_array( $result ) ) {
throw new UnexpectedValueException( sprintf(
"Expected array but received '%s' from '%s::getValues'",
is_object( $result ) ? get_class( $result ) : gettype( $result ),
get_debug_type( $result ),
get_class( $this->nestedList )
) );
}

View file

@ -519,7 +519,7 @@ class NotificationController {
$notify->addFilter( static function ( $user ) use ( &$seen, $fname ) {
if ( !$user instanceof User ) {
wfDebugLog( $fname, 'Expected all User instances, received: ' .
( is_object( $user ) ? get_class( $user ) : gettype( $user ) )
get_debug_type( $user )
);
return false;

View file

@ -64,8 +64,8 @@ class FilteredSequentialIterator implements IteratorAggregate {
} elseif ( $users instanceof IteratorAggregate ) {
$it = $users->getIterator();
} else {
throw new InvalidArgumentException( 'Expected array, Iterator or IteratorAggregate but received:' .
( is_object( $users ) ? get_class( $users ) : gettype( $users ) )
throw new InvalidArgumentException( 'Expected array, Iterator or IteratorAggregate but received ' .
get_debug_type( $users )
);
}