QNA-1976, нет. Результат работы всей функции в одном из двух указанных мной вариантов будет массив. А уж что там в массиве будет, зависит от логики функции и ожидаемого результата)
QNA-1976, ну вообще, если у вас возвращаемое значение указано array, а возвращается класс, то должна быть ошибка и скрипт не должен работать.
Глядя на второй кусок кода выше я могу предположить, что и с предыдущем кодом всё в порядке. Методу fetchAll передается НА ВХОД название класса, и уже этот самый метод должен вернуть НА ВЫХОДЕ в функцию query либо массив, либо NULL. А уже функция query, как посредник, вернёт те же самый значения (array|null).
QNA-1976, ну по нормальному там всегда должна быть коллекция, хотя бы пустая, обычно все равно делают запрос на count перед fetch
Так же есть fetchObject там stdClass по умолчанию, и можно добиться рефакторинга метода с меньшим количеством аргументов
Дмитрий, просто я по привычке всегда ставлю по дефолту опцию FETCH_OBJ для выборки, поэтому и спросил, есть ли разница, спасибо, что пояснили, не буду дёргаться в сторону FETCH_CLASS
создаём публичный метод, который принимает параметры: строку $sql, массив $params, строку $classname, которая, если не задана = 'stdClass' и возвращает массив либо null (знак вопроса)
): - значит грусть (grust'). ?array - значит, что может вернется массив (array), а может и не вернется совсем, но в предпочтении все же чтобы вернулся.
В итоге имеем: грустный php не знает, что именно вернуть, и ему от этого грустно :(