Мне нужно определить константный массив в рамках класса, который будет использоваться статически (т. е. я не создаю экземпляр класса). Вот пример кода, который работает в 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
в заголовке файла, не отображается в модульном тесте. - Я хочу определить массив (содержащий постоянные значения) вне используемой функции. Но если нет другой возможности решить мой вопрос, это требование также может быть снято.
static
? Это усложняет тестирование. - person Alma Do   schedule 28.08.2013