ちょいとお仕事がドッタンバッタンなので、ギア入りっぱなしのまま書いているので本気で備忘録。
読み取れる方は適宜読み取ってくださりませ。
実験コード。
<?php
function hoge() {
static $i = 0;
$i ++;
var_dump($i);
}
//
hoge();
hoge();
hoge();
うんまぁわかりきった結果。
<?php
class foo {
function hoge() {
static $i = 0;
$i ++;
var_dump($i);
}
}
//
$obj = new foo();
$obj->hoge();
$obj->hoge();
$obj->hoge();
これもガッテン承知の助。
で、確認したいのは、以下。
<?php
class foo {
function hoge() {
static $i = 0;
$i ++;
var_dump($i);
}
}
//
$obj = new foo();
$obj->hoge();
$obj->hoge();
$obj2 = new foo();
$obj2->hoge();
$obj2->hoge();
[gallu@localhost ~]$ php ttt.php
int(1)
int(2)
int(3)
int(4)
あぁ、繋がるのか。
ふむ…念のために確認。
<?php
class foo {
function hoge() {
static $i = 0;
$i ++;
var_dump($i);
}
}
class bar extends foo {
}
//
$obj = new foo();
$obj->hoge();
$obj->hoge();
//
$obj2 = new bar();
$obj2->hoge();
$obj2->hoge();
[gallu@localhost ~]$ php ttt.php
int(1)
int(2)
int(1)
int(2)
あ、はがれた。
内部的に「[クラス名+]関数名」でテーブルかなんか持ってる感じなのかな?
まぁいいや。とりあえず、いくつか「メモリ&DBアクセス的にチューニングしたい」項目があったんだけど、使えそうなので。