У меня есть метод внутри класса, в котором я хочу инициализировать статическую переменную.
1 /, когда я инициализирую переменную, а затем влияю на это значение, используя ключевое слово $this
, оно работает.Например:
class Test {
// ...
function test($input_variable)
{
static $my_static_variable = null;
if (!isset($my_static_variable))
$my_static_variable = $this->someFunction($input_variable);
// ... some further processing
}
}
2 / Однако, когда я пытаюсь напрямую инициализировать / создать переменную с ключевым словом $this
, возникает синтаксическая ошибка: unexpected '$this' (T_VARIABLE)
:
class Test {
// ...
function test($input_variable)
{
static $my_static_variable = $this->someFunction($input_variable); // *** syntax error, unexpected '$this' (T_VARIABLE)
// ... some further processing
}
}
1 / хороший способ инициализировать статическую переменную?Почему 2 / не разрешено, так как предполагается, что он делает то же самое, что и в 1 /?
Я использую PHP 5.5.21 (cli) (сборка: 22 июля 2016 г. 08:31:09).
Спасибо