構造化とオブジェクト指向 (7/7)
作成:2011-01-09 10:28
更新:2011-01-09 10:28
更新:2011-01-09 10:28
■オブジェクト指向は何に必要?
――さて、オブジェクト指向の基本、特に「クラス」の作り方・使い方についてざっと説明をしましたが、読んでみてどのように感じたでしょうか。
「便利なんだろうけど、面倒臭い。実際、使うことないんじゃない?」
そう思った人も多いんじゃないでしょうか。確かに膨大なコードを書くようになれば必要となるでしょう。が、そんなに巨大なプログラムなんて作らない。自分が作るサイトの規模では、いちいちクラスなんて必要としないだろう。そう考える人もきっと多いことと思います。
が、そうした人も、オブジェクト指向が理解出来ないと困ることがいろいろとあるのです。それはどういうことか?
1.標準機能がクラスに置き換わりつつある
まず、なにより大きいのは、「最近のPHPでは、標準で用意される機能が関数ではなくクラスに置き換わりつつある」という点です。
例えば、XMLを利用するための機能というのがあります。これは、その昔はすべて関数として用意されていましたが、今はSimpleXMLElementというクラスのインスタンスを作成して利用するのが一般的になってきています。
また、データベースアクセスも、以前は各データベースごとに関数がズラリと用意されていましたが、今はPDOというクラスのインスタンスを利用するようになりつつあります。
このように、標準で用意される機能が次第に関数からクラスに置き換わってきているのです。今後の利用を考えると、オブジェクト指向に慣れておくべきです。
2.フレームワークはほとんどクラス
最近では、ある程度の規模のサイトになると、「フレームワーク」を利用することが多くなってきました。特に「CakePHP」は、簡単でかつわかりやすいフレームワークとして広く使われるようになりつつあります。
こうしたフレームワークは、ほぼすべてが「クラス」によって構成されています。フレームワークは膨大なソースコードから構成されており、全部関数で構築しようとするとえらいことになります。クラスに整理しておかなければ、何が何だかわからなくなってしまうでしょう。
こうしたフレームワークを利用するには、オブジェクト指向の知識は必須と言えます。
3.メンテナンスを考えたらクラス化すべき
今、サイトを作っている人は、「とりあえず動けばいいや」という程度で考えているかも知れません。が、もしも「長くサイトを運営していきたい」と考えるなら、この先のメンテナンスを考えなければいけません。
メンテナンスを考えたとき、なにより重要なのは「たとえ自分で書いたコードでも、半年経てば忘れる」ということです。次第にサイトが高度になっていき、それにともなって関数もどんどん増えていったとき、いつの日か「自分の手に余る」というような自体に陥るかも知れません。
最初からクラスの形で整備しておけば、ある程度すっきりと整理しておくことができます。また機能を強化する際にも、既にあるクラスを継承して拡張するなどしていけば簡単に対応できます。なにより、「いざとなったら、元のクラスに戻せばいい」のですから、トラブったときも安心です。
――こうしたことを考えるなら、PHPの世界でも、今やオブジェクト指向の知識は必須となりつつある、といっていいでしょう。「自分はクラスなんていらないから」と思わず、とりあえず知識だけでも身につけておくと、いざというとき困らずに済むかも知れません。
「とりあえず、オブジェクト指向によるサイト構築がどんなものか勉強したい」と思うなら、「CakePHP」フレームワークを使ってみることをおすすめします。これを使ってみると、オブジェクト指向によるサイト構築の世界がどんなものか、よくわかりますよ。
※参考「初心者のためのCakePHPプログラミング入門」
http://libro99.appspot.com/index2?id=8002
「便利なんだろうけど、面倒臭い。実際、使うことないんじゃない?」
そう思った人も多いんじゃないでしょうか。確かに膨大なコードを書くようになれば必要となるでしょう。が、そんなに巨大なプログラムなんて作らない。自分が作るサイトの規模では、いちいちクラスなんて必要としないだろう。そう考える人もきっと多いことと思います。
が、そうした人も、オブジェクト指向が理解出来ないと困ることがいろいろとあるのです。それはどういうことか?
1.標準機能がクラスに置き換わりつつある
まず、なにより大きいのは、「最近のPHPでは、標準で用意される機能が関数ではなくクラスに置き換わりつつある」という点です。
例えば、XMLを利用するための機能というのがあります。これは、その昔はすべて関数として用意されていましたが、今はSimpleXMLElementというクラスのインスタンスを作成して利用するのが一般的になってきています。
また、データベースアクセスも、以前は各データベースごとに関数がズラリと用意されていましたが、今はPDOというクラスのインスタンスを利用するようになりつつあります。
このように、標準で用意される機能が次第に関数からクラスに置き換わってきているのです。今後の利用を考えると、オブジェクト指向に慣れておくべきです。
2.フレームワークはほとんどクラス
最近では、ある程度の規模のサイトになると、「フレームワーク」を利用することが多くなってきました。特に「CakePHP」は、簡単でかつわかりやすいフレームワークとして広く使われるようになりつつあります。
こうしたフレームワークは、ほぼすべてが「クラス」によって構成されています。フレームワークは膨大なソースコードから構成されており、全部関数で構築しようとするとえらいことになります。クラスに整理しておかなければ、何が何だかわからなくなってしまうでしょう。
こうしたフレームワークを利用するには、オブジェクト指向の知識は必須と言えます。
3.メンテナンスを考えたらクラス化すべき
今、サイトを作っている人は、「とりあえず動けばいいや」という程度で考えているかも知れません。が、もしも「長くサイトを運営していきたい」と考えるなら、この先のメンテナンスを考えなければいけません。
メンテナンスを考えたとき、なにより重要なのは「たとえ自分で書いたコードでも、半年経てば忘れる」ということです。次第にサイトが高度になっていき、それにともなって関数もどんどん増えていったとき、いつの日か「自分の手に余る」というような自体に陥るかも知れません。
最初からクラスの形で整備しておけば、ある程度すっきりと整理しておくことができます。また機能を強化する際にも、既にあるクラスを継承して拡張するなどしていけば簡単に対応できます。なにより、「いざとなったら、元のクラスに戻せばいい」のですから、トラブったときも安心です。
――こうしたことを考えるなら、PHPの世界でも、今やオブジェクト指向の知識は必須となりつつある、といっていいでしょう。「自分はクラスなんていらないから」と思わず、とりあえず知識だけでも身につけておくと、いざというとき困らずに済むかも知れません。
「とりあえず、オブジェクト指向によるサイト構築がどんなものか勉強したい」と思うなら、「CakePHP」フレームワークを使ってみることをおすすめします。これを使ってみると、オブジェクト指向によるサイト構築の世界がどんなものか、よくわかりますよ。
※参考「初心者のためのCakePHPプログラミング入門」
http://libro99.appspot.com/index2?id=8002
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ