PHPは、関数の中でstatic変数を宣言すると、その関数が初めて呼ばれた時にのみ初期化をし、それ以降は何度呼ばれても初期化処理をスキップしつつ、値を保持する機能があります。
function staticVar() {
static $var = 0;
$var++;
var_dump($var);
}
staticVar(); // 1
staticVar(); // 2
staticVar(); // 3
こんな感じで。
クラス化してメソッドにしても同様みたいです。
今のところ、良い使いドコロが思いつきませんけど・・・。