Zend DB表?或者你自己的SQL?

时间:2009-11-01 15:16:53

标签: php sql zend-framework

如何使用PHP和Zend Framework处理中型项目。您是否使用Zend DB Table / Row进行模型和数据库操作?或者您的SQL语句中是否有某种抽象模型类?

我想听听一些意见,谢谢。

3 个答案:

答案 0 :(得分:6)

我建议使用Zend_Db_Table和Row来处理数据库内容。它不是很高级(请参阅Doctrine获取完整的ORM),但它是封装功能的好方法,您可以向Row对象添加自定义功能。

您始终可以将原始SQL方法添加到模型中:

   class MyModel extends Zend_Db_Table_Abstract {

        public function getSomething(){
            return $this->getAdapter()->fetchAll("SELECT * FROM `tbl`");
        }

    }

答案 1 :(得分:1)

我们个人在我们公司的模型中使用Zend_Db_Select()。这是因为我们在电子商务软件中使用了很多连接和东西。对于简单的应用程序,Zend_Db_Table是合适的。

答案 2 :(得分:1)

我最近一直在使用Doctrine作为数据库层而没有回头看。我发现从DB填充对象图很简单。其他解决方案在处理我喜欢的关系时过于繁琐。

我的域模型位于数据库层之上,并管理业务逻辑。

但这实际上取决于您的域名模型。当前版本的Doctrine要求所有模型都扩展一个类,因此如果您需要模型继承,则不适合。此外,它仅适用于您的模型与数据库结构类似的情况。