Zend 中的 PHP 数据对象

Posted

技术标签:

【中文标题】Zend 中的 PHP 数据对象【英文标题】:PHP Data Objects in Zend 【发布时间】:2011-10-20 09:01:34 【问题描述】:

我正在 Zend 中构建一个 API。开发环境在 mysql 中,可能会部署到使用 MS SQL 的环境中。我以前没有使用过 PDO,我仍然在思考它的实现。这是我的一项行动。 (等我弄明白了,我会把它清理干净,放到一个合适的模型里。)

$params=array('host' =>'localhost',
  'username'         => '****',
  'password'         => '****',
  'dbname'           => '****');
$db = new Zend_Db_Adapter_Pdo_Mysql($params);
$db->setFetchMode(Zend_Db::FETCH_OBJ);
$sql = 'Select * from test';
$this->response->data = $db->fetchAssoc($sql);

这给了我想要的信息。我是否认为我可以在准备部署时切换出我正在使用的适配器而不更改我的 SQL 语句并且一切“应该”工作相同?

我知道还有更复杂的抽象方法,但是看到我对 Zend 来说是多么陌生,我想暂时保持简单。

【问题讨论】:

【参考方案1】:

你的想法是对的:

Zend_Db 适配器从供应商特定的 php 创建一个桥梁 对通用接口的扩展,以帮助您编写 PHP 应用程序 一次就可以轻松部署多个品牌的 RDBMS。

Reference

只要您不执行任何特定于 MySQL 的操作,您就可以根据需要切换适配器。

【讨论】:

MySQL 和 MS SQL 之间是否有共享的 SQL 标准? 谢谢,我对 Zend 还是很陌生。我更熟悉 Kohana 和一些 CMS,但我想为此使用一些更符合行业标准的东西。我明白为什么它如此受欢迎了。 @hakre:有共同点,也有不同点。 Zend_Db_Adapter 试图为开发人员提供一个统一的接口,这样他们就不必学习两者的复杂性。佩里,我很高兴能帮上忙,希望对你有用。享受吧! 大概通过使用 Zend_Db_Table 以及您不需要“SQL 标准”? framework.zend.com/manual/en/zend.db.table.html

以上是关于Zend 中的 PHP 数据对象的主要内容,如果未能解决你的问题,请参考以下文章

PHP7中的数据类型

PHP中的垃圾回收机制

使用Zend Framework列出S3目录中的所有文件

Xampp 中的 Zend 框架

php内核中的变量

PHP Zend_Form对象到XML数据表示(用于XSLT)