最適化のために静的変数を使用できるかどうか疑問に思っています:
public function Bar() {
static $i = moderatelyExpensiveFunctionCall();
if ($i) {
return something();
} else {
return somethingElse();
}
}
$i
が初期化されると、 への連続した呼び出しでそのコード行によって変更されないことを私は知っていBar()
ます。これは、呼び出すmoderatelyExpensiveFunctionCall()
たびに評価されないことを意味すると思いますが、確実に知りたいです。
PHP は、初期化された静的変数を検出すると、そのコード行をスキップしますか? 言い換えると、 をたくさん呼び出した場合、実行時間が最適化されるBar()
でしょうか、それとも時間を無駄にしているのでしょうか?