PHP: __destruct() のテスト1

1. このページの目的

PHP の __destruct() が定義されている場合の動作を観察する。

2. デモの内容

このページの先頭で、以下のPHPコードを実行する。

class MyDestructableClass
{
  function __destruct() {
    echo '<p style="color:red;">Destroying ' . __CLASS__ . '</p>' . "\n";
  }
}

$obj = new MyDestructableClass();

3. 結果

echo によって、本ページの最下部に文字列が出力される。

HTTPレスポンスのメッセージボディ(<html>タグ) の出力処理も PHPの処理に含まれるため、その後でデストラクタが実行されている。

当然、<html>タグの外側に文字列が出力されるのは、HTMLの文法的に問題がある。

4. 参考

Destroying MyDestructableClass