我可以信任调用 PHP __destruct() 方法吗?

2022-01-16 00:00:00 garbage-collection php

在 PHP5 中,是否保证为每个对象实例调用 __destruct() 方法?程序中的异常可以防止这种情况发生吗?

In PHP5, is the __destruct() method guaranteed to be called for each object instance? Can exceptions in the program prevent this from happening?

推荐答案

当所有引用被释放或脚本终止时,将调用析构函数.我认为这意味着脚本正确终止时.我会说关键异常并不能保证调用析构函数.

The destructor will be called when the all references are freed, or when the script terminates. I assume this means when the script terminates properly. I would say that critical exceptions would not guarantee the destructor to be called.

PHP 文档 有点薄,但它确实说析构函数中的异常会导致问题.

The PHP documentation is a little bit thin, but it does say that Exceptions in the destructor will cause issues.

相关文章