Под капотом это на самом деле создает и добавляет к StringBuffer, звоня toString () на результате. Таким образом, это на самом деле не имеет значения, который Вы больше используете.
Так
String s = "a" + "b" + "c";
становится
String s = new StringBuffer().append("a").append("b").append("c").toString();
Это правда для набора встроенных, добавляет в рамках отдельного оператора. Если Вы создаете свою строку в течение нескольких операторов, то Вы тратите впустую память и StringBuffer, или StringBuilder является Вашим лучшим выбором.
Вы должны использовать self :: $ some_variable
. Поместите туда $.
http://www.php.net/manual/en/language.oop5.static.php
Переменная-член также должна быть объявлена статической.
Также объявить переменную статической.
private static $some_variable;