ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PHPにおける、共通部分の一部だけ違うという場合の実現法とメリットデメリット

2007-10-25 21:31:28 | PHP

 PHPで、複数の画面において、共通部分があれば、includeにして、呼び出すということが考えられる。ただ、このとき、一部分だけ違うということがある。
 この場合、考えられる対応は3つ

・そのinclude元を直接修正する
・includeファイルをコピー、コピーしたものを修正して、それを参照する
・includeがクラスなら、それを継承する。継承したものを修正し、それを参照

 以下、それぞれのメリットデメリットを書いてみたいと思います。




(1)そのinclude元を直接修正する
 include元のファイルにたいして、if文を追加して、もし、あるときならば、一部分かえるように、プログラムを修正する。

 この方法は、後日、他の人が修正しようとした場合、そのソースを参照するので、修正が分かるというメリットはあるけど、同時に修正している場合、競合が起こる可能性がある。

 とくに、フリーソフトをこのように修正した場合、後日そのソフトがバージョンアップすると、追加した部分を、新しいバージョンにも追加しないといけなくなる。




(2)includeファイルをコピー、コピーしたものを修正して、それを参照する

 include元のファイルをコピーしてきて、そのコピーしたものを参照するように書き換える。さらに、コピーしたものに、変えたい内容を修正する。

 この方法だと、バージョンアップしても、参照するのは、コピーしたファイルのほうだから影響はない・・・こともあるけど、コピーしていたファイルが、さらに何かをincludeしていて、そのinclude元が書き換えられて不整合ということもありえる。

 また、みんなが、好き勝手にコピーしてしまうと、今、どこで何が更新されているのか分からなくなってしまう。




・includeがクラスなら、それを継承する。継承したものを修正し、それを参照

 PHPならクラスが出来るので、こういう話もある得る。
 が、これは、クラスになっていて、適切なメソッドに分かれていないとできない。
 また、(2)同様みんなが、好き勝手に継承しまくってしまうと、今、どこでどーなっているのか分からなくなってしまう。




ってなかんじですかね(^^)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする