Получение объектов с сетерами и гетерами из mysql запроса в zend framework При выполнение Sql запроса в Zend_Db результат возвращается в виде массива ассоциативных массивов. Я хочу сделать чтобы результат возвращался в виде массива объектов с сетерами и гетерами(Как в магенто например, я знаю что там своя реализация коллекций, мне было бы достаточно простого массива объектов).
В голову приходит только следующее:
1)Создаём у объекта метод loadFromArray
2)Выполняем наш запрос
3)В цикле создаём объекты, грузим их из массива и добавляем их в новый массив.
4)Возвращаем полученный массив.
Но я не уверен что это правильно. Очень хотелось бы узнать как правильно.
Задам здесь ещё 1 вопрос, чтобы не плодить топики. Если мне нужно только 1 параметр объекта, то для того чтобы не грузить весь объект нужно создать хелпер или добавить метод возвращающий это значение без загрузки всего объекта?

21 Авг 2019 в 07:10
166 +1
1
Ответы
1

Ответ на ваш первый вопрос: ваш подход к созданию массива объектов с сетерами и гетерами из результатов SQL запроса в Zend Framework довольно стандартный и имеет право на существование. Вы можете создать класс с методом loadFromArray, который будет загружать данные из ассоциативного массива в объект с помощью сетеров. Затем выполнить SQL запрос, пройти по результатам с помощью цикла, создавать объекты и добавлять их в массив. Это довольно распространенный подход и он работает.

Ответ на ваш второй вопрос: если вам нужно только одно значение объекта и вы не хотите загружать весь объект, то более оптимальным решением будет создать метод в вашем классе, который будет возвращать только это значение. Таким образом, вы избежите лишней нагрузки на память и ускорите выполнение вашей программы.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 620 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир