Какова польза от тяжелой инициализации статического свойства в php?

Когда я определяю свойство массива со значением по умолчанию:

class Foo {
protected $leArray = [
'foo',
'bar',
'baz',
];
}

моя IDE, phpstorm, предупреждает меня из-за проверки кода, что:

Это свойство initializatioin представляется довольно «тяжелым», вероятно, его следует определить как статическое.

Но зачем это? Какая польза от статической инициализации?

2

Решение

Я считаю, что это не связано с PHP, даже если вы просите конкретный случай в PHP.

Ваша IDE предупреждает вас, потому что, возможно, это свойство, содержащее массив, может не изменяться в течение времени жизни экземпляра класса. Таким образом, вы не хотите каждый раз создавать экземпляр целого класса с новым массивом. То есть вы можете превратить так называемое свойство в статическое свойство и избегать множества экземпляров одного и того же массива Foo экземпляры классов.

Кстати, если такой массив будет изменен в течение времени жизни данного Foo Например, вы не хотите, чтобы это свойство было static, если только вы не хотите, чтобы один экземпляр мог изменить его для всех других экземпляров в определенный момент времени.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]