ハマった
しょーもないミスでハマった。
class Test { var $var; function execute{ $property = & this->var; $property = 'a'; // ごちゃごちゃ処理 // 下の方で $property = get_class_vars($class); } }
こんなん書いてて、なんで内部変数が勝手に書き変わるんだろうと。。。
そりゃー当然だ。
もしかして変な仕様?とか意味の分からない勘違いしてた。
上のようにシンプルに書き直してやっと理解した。
スコープは大事だね。。
C言語の
int main(){ int a = 1; { int a = 2; printf('%d\n', a); } printf('%d\n', a); return 0; } /* * 結果 * 2 * 1 */
みたいにスコープを限定したいな。
関数はこまめに分けろってことを身をもって体験。