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

2
class MyTest {
    public function getArray() {
        return array(100, 200);
    }
}

不漂亮,但您可以简单地调用MyTest::getArray()而不创建实例(或$this->getArray()从类内部)来检索数据。

于 2013-08-28T14:02:37.387 回答