Свойство статического класса является массивом, но выдает ошибку «Параметр должен быть массивом или объектом, реализующим счетную» - PullRequest
0 голосов
/ 08 ноября 2018

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

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

Я знаю об изменениях в PHP7 и выше, но я не понимаю, почему static :: $ get не известен как массив, который должен быть исчисляемым.Где я думаю не так?Это пустой массив, поэтому при подсчете он должен быть равен 0?

...