如何从模型处理数据库逻辑

时间:2010-08-02 09:16:08

标签: php database oop model

我从类图中创建了一个企业系统模型,并将其转换为php面向对象的代码。

我现在拥有的只是一个空模型,它能够关联并处理连接。现在下一步就是前进。我有一个数据库,必须将对象放入数据库。

现在我缺乏经验。我有模型,因为php渲染一个视图并且一次请求渲染视图我有点困惑。不可能将我的所有实体加载到数据库之外并将我的模型填充到内存中然后使用它,因为它会变大。

有人知道在我的模型中加载所需数据然后使用它的方法吗?也许是书或文章的建议?

谢谢!

1 个答案:

答案 0 :(得分:1)

听起来你正在运行一个“MV”(它不存在)而不是“MVC”设计模式。

你的控制器发生了什么事?您的控制器应将请求路由到此特定视图所需的模型实体,然后您可以根据需要使用响应。

如果您的模型代表的信息太大,那么您做错了。您应该考虑延迟加载数据,并且只加载严格需要的内容。当然,您的控制器将决定此并将所有内容路由到您的模型。

编辑以回应评论

你有几种方法。如果您使用的是Zend_Db_Table_Abstract,那么您将继承此类并将其用作模型。这可能是最简单的。 然后你只需将它用作你的模型。设置$_name = "myComments",然后创建一个名为getComments的方法。

在您的Zend_Db_Table_Abstract子类中的方法中,您可以创建$ select。 然后,您只需从模型中返回响应。

所以

    $rows = $table->fetchAll($select);

然后只返回$行; 然后,您将在控制器中返回$ rows。 您已通过$ model = new Comments();在控制器中加载了模型。然后使用$ result = $ model-> getComments();

进行获取

它有点不匹配,但这应该告诉你应该怎么做。您只需要立即创建模型。