0

可以对类 __destruct 函数执行 mysqli 查询吗?

我在某处听说它不会总是完成查询,或者它不会按预期工作。

例如:

class stackoverflow{
    function a() {
    }

    function b() {
    }

    function __destruct() {
        //mysqli query here
    }
}
4

2 回答 2

1

通常,您最好创建自己的方法来执行任何需要在脚本末尾完成的工作并手动调用它。

在我看来,主要原因是错误处理。

根据在线文档

尝试从析构函数(在脚本终止时调用)抛出异常会导致致命错误。

这意味着如果出现错误 - 例如 - 在您的 mysql 查询中,致命错误将关闭您的脚本。

__destruct 方法有时可能很有用,但更好地用于只需要一些简单硬代码的情况,这些硬代码经过测试且不易出错。

此外,某些服务器可能会在关闭阶段更改各种参数。比如工作目录。

于 2012-06-12T17:19:37.783 回答
0

没有理由不按预期工作。但是,如果您首先解释为什么要这样做会有所帮助,可能会有比您想到的更好的解决方案

于 2012-06-12T17:05:00.587 回答