Правильный способ получения большого количества данных в объектно-ориентированном PHP5 - PullRequest
3 голосов
/ 31 марта 2009

К счастью, я знаю, как получать данные из базы данных, это не проблема. Для моего объектно-ориентированного приложения у меня была бы таблица с пользователями / лицами. У меня также есть класс person.

Корпус: Я хотел бы показать конечному пользователю список со всеми лицами. Как правильно показать это сделать?

  1. используя mysql_fetch_object(), в этом случае php создаст свой собственный тип объекта, а не мой собственный тип person
  2. Извлечение всех строк из БД, а затем создание объекта каждого?

Или есть другой лучший способ сделать это?

Не могли бы вы также показать (псевдо) код?

Спасибо

Ответы [ 3 ]

6 голосов
/ 31 марта 2009

Функция mysql_fetch_object() принимает второй параметр, который является именем класса для использования:

$myPerson = mysql_fetch_object($result, 'person');
3 голосов
/ 31 марта 2009
  • вариант 1: использовать ORM (Propeler, Doctrine)
  • вариант 2: создать класс People ("Persons"), который будет загружать свои данные, используя mysql_fetch_*, затем создать массив объектов Person. Пусть он реализует IteratorAggregate с getIterator возвратом ArrayIterator(personArray)
2 голосов
/ 31 марта 2009

Если вы используете PDO , $pdoStatement->fetchObject($type) извлекает одну строку как экземпляр $type Class

Чтобы получить все объекты как экземпляр класса $type, используйте $pdoStatement->fetchAll(PDO::FETCH_CLASS, $type)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...