1

我目前的 php 析构函数代码有问题。

首先,我有一个这样的基本 html 文档:

<!doctype html>
<html lang="en">
  <head><title>Home</title></head>
<body>

<?php include('Table.php');
$T = new Table();
?>

</body>
</html>

问题是代码“ new Table()”应该<table>在构造函数期间回显“ </table>”,而在析构函数期间回显“”。我的问题是我得到以下代码,但我不知道如何修复它:

<!doctype html>
<html lang="en">
  <head><title>Home</title></head>
<body>


<table>
</body>
</html></table>
4

1 回答 1

0

问题是您的析构函数仅在脚本终止后才被调用,即在您的 /html 标记已经输出之后。您缺少的只是在脚本完全结束之前强制析构函数运行的一行:unset()

试试这个:

<?php include('Table.php');
$T = new Table();
unset($T);
?>

如需进一步阅读,请参阅:Triggering Destructors Manually in PHP 5

于 2013-05-12T04:05:52.497 回答