@phpcoder81

Как правильно вывести часть данных?

Мужики, в классе "Фирма", есть метод вывода всех фирм в массив. public function selectAll(){}
Внутри создается запрос к БД и возвращается массив. Иногда надо вывести весь массив фирм (около 100, а иногда с разделением на страницы LIMIT 30, 30).
Правильно ли я понял, что всё это добро делается в одном методе и сам запрос модифицируется через параметр передаваемый в selectAll(). То есть selectAll() выведет весь массив. selectAll(30,30) выведет с ограничением.
PS. К (30,30) не цепляйтесь. Там будет ассоциативный массив, просто для наглядности.
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
@maltsever
Если правильно понял, то лучше сделать два метода. Один на весь список, второй на пагинацию. Но внутри них часть кода будет одинаковая, её можно вынести в отдельный метод (если она большая).
Ответ написан
@red-barbarian
Танцуй от DI
Т.е. нужно решить какие методы нужны от класса.
Если выборка всех фирм, то что-нибудь типа getAll
Если выборка по ид, то getById(id)
и т.д.
Исходить надо из интерфейса который требует клиент класса. А сам класс реализует его.
Так ты сделаешь скрытым то, что не требуется клиенту и дашь себе возможность менять реализацию класса, без изменения его клиента.
Реализацию класса старайся делать без повторений используя скрытые методы.
Если в классе есть места которые будут часто изменяться, то выноси их в другие классы и делегируй им выполнение. SRP
Ну и прочитай про остальные принципы SOLID. Что бы использовать их. Без фанатизма. Это очень поможет тебе делать понятный для себя и других код. Ну и тестируемый.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы