Потому что вы не можете объявлять свойства класса с помощью переменных выражений. Это означает, что вы не можете использовать любые арифметические операторы + - * /
или оператор конкатенации .
и не можете вызывать функции. Из ваших трех строк должно работать только $test
; два других приведут вас к ошибкам.
Если вам нужно построить строки динамически, сделайте это в конструкторе.
class Object {
public $test = "Hello";
public $var2;
public function __construct() {
$this->var2 = $this->test . "World";
}
}
Кстати, .
не является "разделителем строк". Это оператор конкатенации. Вы используете его для объединения строк, а не разделения их.