在PHP5面向对象中获取大量数据的正确方法

时间:2009-03-31 07:51:26

标签: php sql oop

幸运的是,我知道如何从数据库中获取数据,这不是问题。 对于面向对象的应用程序,我会有一个用户/人员的表。 我也有一个person课程。

案例: 我想向最终用户展示一份包含所有人的列表。这样做的正确方法是什么?

  1. 在这种情况下使用mysql_fetch_object() php会创建自己的类型 对象,而不是我自己的person
  2. 类型
  3. 从数据库中获取所有行,然后创建每个行的对象?
  4. 或者还有其他更好的方法吗?

    你还可以展示一些(伪)代码吗?

    由于

3 个答案:

答案 0 :(得分:6)

mysql_fetch_object()函数接受第二个参数,即要使用的类名:

$myPerson = mysql_fetch_object($result, 'person');

答案 1 :(得分:3)

  • 选项1:使用ORM(Propeler,Doctrine)
  • 选项2:创建类People(“Persons”),它将使用mysql_fetch_*加载它的数据,然后创建Person对象数组。让IteratorAggregategetIterator返回ArrayIterator(personArray)
  • 一起实施

答案 2 :(得分:2)

如果您使用PDO$pdoStatement->fetchObject($type)会将一行作为$type

的实例提取

要将所有对象作为$type类的实例获取,请使用$pdoStatement->fetchAll(PDO::FETCH_CLASS, $type)