1

クラスのスコープ内で静的に使用される定数配列を定義する必要があります(つまり、クラスのインスタンスを作成していません)。以下は、PHP5 では機能するが PHP4 では機能しないサンプル コードです。

class MyTest {
    static $arr = array(100, 200);
    function test() {
        print_r(MyTest::$arr);
    }
}

MyTest::test();

PHP4 (4.4.9-pl0-gentoo) で動作するようにこのコードを変更するにはどうすればよいですか?

備考:

  • PHP4で動作する必要があります。
  • インスタンスを作成せずに、できれば静的な方法で配列にアクセスする必要があります。しかし、この要件は削除される可能性があります。
  • GLOBALSコードはphpunit単体テスト内で動作する必要があるため、使用できません。GLOBALこれを行うと、ファイルのヘッダーにあるように定義された配列は、単体テスト内に表示されません。
  • 使用されている関数の外で配列 (定数値を含む) を定義したいと考えています。しかし、私の質問を解決する可能性が他にない場合は、この要件も削除できます。
4

1 に答える 1