Свойство статического класса является массивом, но выдает ошибку "Параметр должен быть массивом или объектом, реализующим счетную"
У меня есть класс, который выглядит следующим образом (сокращенно):
class Request
{
/**
* @var array $get get request, singleton
*/
private static $get = [];
/**
* Returns an instance of the request
*
* @param string $string request type to return
*
* @return array instance of request array
*/
public static function getInstance($string)
{
switch ($string) {
case 'get':
if (count(static::$get) === 0) {
static::$get = filter_input_array(INPUT_GET);
}
return static::$get;
break;
}
}
}
Линия if (count(static::$get) === 0) {
бросает предупреждение
Warning: count(): Parameter must be an array or an object that implements Countable
Я знаю об изменениях в PHP 7 и выше, но я не понимаю, почему static::$get не известен как массив, который должен быть исчисляемым. Где я ошибаюсь? Это пустой массив, поэтому считать его следует до 0?