Ошибка PHP, объединение в array () в инициализаторе члена - PullRequest
2 голосов
/ 08 марта 2012

Я получаю сообщение об ошибке со следующим кодом:

public $arr = array('email' => 'admin@' . str_replace('http://', '', SERVER_ROOT));

Parse error: syntax error, unexpected '.', expecting ')' 

Я действительно глуп?Конечно, я могу объединить строки здесь?

Это переменная, объявленная в классе.

Ответы [ 2 ]

5 голосов
/ 08 марта 2012

Вы не можете инициализировать атрибуты класса с помощью выражения.Вы должны сделать это в конструкторе или использовать фиксированное значение, например обычную строку.

1 голос
/ 08 марта 2012

Это ошибка, вы не можете инициализировать свойство, подобное этому

Свойства

Переменные-члены класса называются «свойствами».Вы также можете видеть, что они упоминаются с использованием других терминов, таких как «атрибуты» или «поля», но для целей данной ссылки мы будем использовать «свойства».Они определяются с использованием одного из ключевых слов public, protected или private, за которым следует обычное объявление переменной.Это объявление может включать в себя инициализацию , но эта инициализация должна быть постоянным значением, то есть она должна быть в состоянии быть оцененной во время компиляции и не должна зависеть от информации времени выполнения для оценки.1008 *

...