几个月前,我的工作部署了一个内部函数,该函数将标准、php、mysql_query() 函数与其他选项和功能一起包装起来。一个示例功能是我们可以打开/关闭的一些方便的调试工具。
我想知道查询处理程序有多受欢迎,以及人们喜欢在其中内置哪些功能。
出于类似的原因,我使用了像MDB2、Zend_Db或Doctrine这样的 DBAL。主要是为了能够利用它提供的所有快捷方式,而不是因为它支持不同的数据库。
例如,旧的:
<?php
$query = "SELECT * FROM table";
$result = mysql_query($query);
if (!$result) {
echo mysql_error();
} else {
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_obj($result)) {
...
}
}
}
?>
与(Zend_Db):
<?php
try {
$result = $db->fetchAll("SELECT * FROM table");
foreach($result as $row) {
...
}
} catch (Zend_Exception $e) {
echo $e->getMessage();
}
?>
恕我直言,更直观。
我们也在我的办公室实施了类似的措施。事实证明,对于它提供的相关处理功能来说,它是一个非常宝贵的工具。错误跟踪,预先格式化的输出,它也可以作为 MsSQL 和 MySQL 之间的“AL”。
除了上述功能之外,我认为拥有一些低资源密集型性能监控或跟踪会很酷。对于更大或更复杂的数据集,查询可能非常重要,并且能够实时监控(或发布)将有助于大型网站所需的任何优化。
只是我的两分钱。