Этот вопрос похож на Mysql приводит к PHP-массивам или объектам? Однако мой вопрос расширяет то, что обсуждалось там.
Я пытаюсь решить, какой формат лучше подходит для работы с результатами базы данных: объекты или массивы. Меня не интересует производительность (из того, что я понимаю, это мало что влияет). Мое внимание также уделяется отображению результатов, а не созданию, обновлению или удалению.
На сегодняшний день я всегда использовал объекты с помощью таких функций, как mysqli_fetch_object
или PDO fetchObject
. Это нормально работает, пока я не начну присоединяться. Соединения приводят к странным объектам, которые представляют собой смесь полей из двух или более таблиц. Мой код быстро начинает запутываться.
Следует отметить, что я назначаю определенные имена классов и не придерживаюсь стандартного stdClass
. Я делаю это, чтобы получить доступ к любым вспомогательным методам, которые я создал в своих классах. Например:
foreach ($members as $member)
{
echo $member->full_name();
echo $member->age();
}
Для ясности я рассматриваю возможность перехода к массивам для всех результатов моей базы данных. Из того, что я читал, другие делают это тоже. Однако это оставляет мне простой способ получить доступ к моим вспомогательным методам.
Используя приведенный выше пример, я думаю, я мог бы просто выводить как первое, так и последнее имя вместо использования метода full_name()
, а не большое дело. Что касается метода age(), я думаю, я мог бы создать общий класс утилиты и поместить его туда.
Мои вопросы:
- Если вы используете (модельные) объекты, как вы относитесь к объединениям?
- Если вы используете массивы, как вы относитесь к вспомогательным методам?