Мне интересно, могу ли я использовать статическую переменную для оптимизации:
public function Bar() {
static $i = moderatelyExpensiveFunctionCall();
if ($i) {
return something();
} else {
return somethingElse();
}
}
Я знаю, что после инициализации $i
она не будет изменена этой строкой кода при последовательных вызовах на Bar()
. Я предполагаю, что это означает, что moderatelyExpensiveFunctionCall()
не будет оцениваться каждый раз, когда я звоню, но я хотел бы знать наверняка.
Как только PHP увидит статическую переменную, которая была инициализирована, пропустит ли она эту строку кода? Другими словами, это будет оптимизировать мое время выполнения, если я сделаю много звонков на Bar()
, или я трачу свое время?