サイト作っててある関数をPHPで仕込んだのだけれど、
原因が突き止められないバグでうまく動きません。
半自動でデータを用意してフォームに入れるってだけなのに、
呼び出し元が変わると挙動がおかしくなります。
裏で動いてるグローバル変数があるのではないかと疑っているのですが、
なんせCMSの内部をあまりいじりたくないので
(それこそバグを呼び込む元になると思うから)
せっせと自分のコードを書き直し。
CMSとPHPとjavascriptとHTMLの各レベルが混在しているため、
慎重に設計、分析しないといけないのだけれど、
ユニットの単体テストをするためにはCMSの関数を呼び出さないといけないので、実質結合テストを同時にやっている感じです。
問題が切り分けられないのはそのせいだと分かってても、
CMSの代わりになるスタブやドライバを作るのが難しくて
行き詰まってます。(無理矢理データ流し込めば良いのだろうけれど、CMS自体がかなりこんがらがってるのでどこから切り分けるかが問題)
修正するとバグが増えたり、あっちを直すとこっちがおかしくなるといった感じで頭が痛いです。デグレードの嵐。
いっそ、仕様を変更しようかとも考えてます。
設計が甘かった・・・。
というか、ブラウザの挙動もなんか怪しげなので、できるだけ単純なロジックで切り抜けたいです。
ここを乗り越えれば、あとはここを窓口として機能を追加すれば良いので、辛抱のしどころです。
・・・そんなところを仕様変更して大丈夫だろうか?
ああ、頭が痛いったらありゃしない。
そんな難しいことをしているわけではないはずなので、自分の力不足なんだろうなあとしょんぼりです。