Свойство статического класса является массивом, но выдает ошибку "Параметр должен быть массивом или объектом, реализующим счетную"

У меня есть класс, который выглядит следующим образом (сокращенно):

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?

0 ответов

Другие вопросы по тегам