◆ PHPだけとは限らない
◆ いらない関数は消しましょう


PHPでは変数名には$を先頭につけます

メンバ変数やメソッドでは $this-> をつけます

$this->$var ではなく $this->var です

これなんですが よく $this-> を書き忘れて $var とローカル変数と書いてしまいます
そのせいで警告やエラーがよくでているのですが 今回はそれがちょっと進化していました


元々 sample_print(); と書いていたところが クラス化したせいで $this->sample_print(); と変更しないといけませんでした
ですが 忘れていて sample_print(); のままになっていました
本来の sample_print(); は消し忘れていた上に自分では消したつもりになっていたので 知らないうちに別の関数を実行していました

クラス化したときに中身を少し変えただけで引数は一緒だったのでエラーはなかったのですが プログラムの最終結果が予想と違う結果になってすごく困りました

動いている関数が $this->sample_print(); と違うということに気づくのにすらかなりの時間が掛かりました
例では sample_print(); とかシンプルそうな名前ですが実際はそこそこに複雑なことをする関数だったので関数内を全部読み直したりと大変でした

一応動いてて関数名あってる($this-> ないことは全くの想定外)のに動いてる関数が別物なんて思いもしませんでした


PHPに限った問題ではないですが なぜかPHPではよく$this->が忘れるんですよね

あー Chromeで PHPをステップ実行したーい