CakePHP 2.0開発の準備をしよう! (1/6)
作成:2011-10-31 07:55
更新:2011-10-31 07:55
更新:2011-10-31 07:55
■PHPからフレームワークへ
現在、Webアプリケーションの開発でもっとも広く使われている言語は、「PHP」といってよいでしょう。シンプルな言語仕様、HTMLの中に埋め込んで使える簡便さなどから、本職のプログラマでなくても手軽にサーバサイドのプログラムが作成できる!ということで、一気に広まっていきました。
これは、それまでのプログラミングの世界ではあまり見られなかった混乱を巻き起こしました。すなわち、「PHPでプログラムを書く人の多くが、プログラミングを体系的に学んできた人でない」ということから生ずる混乱です。特に、PHPは、「思いついたらその場でHTMLの中にちょこちょこと書けば動く」という手軽な「思いつきプログラミング」のスタイルが当たり前のようになってしまった感がありました。
当初、PHPを利用する人の多くは、そうしたやり方で十分通用するような、比較的簡単で小規模なプログラムが中心でしたから、そうしたアプローチも取り立てて困ることはなかったのです。が、人間、誰しも進歩します。次第にプログラミングに慣れていき、作ったWebアプリケーションも次第に本格化していくにつれ、「ちょっとこのままじゃどうにもならないぞ?」と思い始めた人も多いはずです。
例えば、何らかのデータを管理して処理するようなWebアプリでは、それぞれのページでおのおの勝手にデータベースにアクセスをしている、というような書き方を多くの人がしてきました。が、そうしたやり方だと、例えば途中で機能を強化するため、データベースの設計を見直すことになった時、とんでもないことになります。すべてのプログラムを修正し、まともに動くかチェックしていかなければいけません。
もし、「どのようにデータベースにアクセスするか」をあらかじめ考え、きちんと設計しておいたなら、そうした混乱は防ぐことができたでしょう。こうした「より高度なものを作りたい」という状況に至って初めて「基本設計の大切さ」に気づいた、という人は多いことでしょう。
そこで登場することになるのが、「フレームワーク」です。フレームワークとは、ライブラリのように「さまざまな機能をまとめて使えるようにしたもの」ですが、しかし微妙にその働きは違います。フレームワークは、機能のみならず、「システム」を提供するのです。
例えば、データベースにアクセスするための仕組み。例えば、統一したデザインのページを生成するための仕組み。そうした仕組みの部分を用意し、「これこれこういうルールに従ってプログラムを書けば、自動的にこういうものができます」というシステムそのものを用意してある、それがフレームワークです。
フレームワークを導入すると、その時点でWebアプリケーションの基本的な設計は半ば強制的に決まってしまいます。「プログラムの処理はここに、画面の表示はここに、データベースの処理はここに、それぞれこういう形で書くこと」と明確に設計されていますから、それに従って書いていけば、嫌でも設計通りにアプリができてしまうのですね。
小さなプログラムから、次第に大きなプログラムへと進むにつれ、こうしたフレームワークが多用されるようになって来ました。いくつものフレームワークがPHPの世界で使われるようになりました。
そうした中でも、もっとも多くの人に支持されているのが「CakePHP」というフレームワークなのです。
これは、それまでのプログラミングの世界ではあまり見られなかった混乱を巻き起こしました。すなわち、「PHPでプログラムを書く人の多くが、プログラミングを体系的に学んできた人でない」ということから生ずる混乱です。特に、PHPは、「思いついたらその場でHTMLの中にちょこちょこと書けば動く」という手軽な「思いつきプログラミング」のスタイルが当たり前のようになってしまった感がありました。
当初、PHPを利用する人の多くは、そうしたやり方で十分通用するような、比較的簡単で小規模なプログラムが中心でしたから、そうしたアプローチも取り立てて困ることはなかったのです。が、人間、誰しも進歩します。次第にプログラミングに慣れていき、作ったWebアプリケーションも次第に本格化していくにつれ、「ちょっとこのままじゃどうにもならないぞ?」と思い始めた人も多いはずです。
例えば、何らかのデータを管理して処理するようなWebアプリでは、それぞれのページでおのおの勝手にデータベースにアクセスをしている、というような書き方を多くの人がしてきました。が、そうしたやり方だと、例えば途中で機能を強化するため、データベースの設計を見直すことになった時、とんでもないことになります。すべてのプログラムを修正し、まともに動くかチェックしていかなければいけません。
もし、「どのようにデータベースにアクセスするか」をあらかじめ考え、きちんと設計しておいたなら、そうした混乱は防ぐことができたでしょう。こうした「より高度なものを作りたい」という状況に至って初めて「基本設計の大切さ」に気づいた、という人は多いことでしょう。
そこで登場することになるのが、「フレームワーク」です。フレームワークとは、ライブラリのように「さまざまな機能をまとめて使えるようにしたもの」ですが、しかし微妙にその働きは違います。フレームワークは、機能のみならず、「システム」を提供するのです。
例えば、データベースにアクセスするための仕組み。例えば、統一したデザインのページを生成するための仕組み。そうした仕組みの部分を用意し、「これこれこういうルールに従ってプログラムを書けば、自動的にこういうものができます」というシステムそのものを用意してある、それがフレームワークです。
フレームワークを導入すると、その時点でWebアプリケーションの基本的な設計は半ば強制的に決まってしまいます。「プログラムの処理はここに、画面の表示はここに、データベースの処理はここに、それぞれこういう形で書くこと」と明確に設計されていますから、それに従って書いていけば、嫌でも設計通りにアプリができてしまうのですね。
小さなプログラムから、次第に大きなプログラムへと進むにつれ、こうしたフレームワークが多用されるようになって来ました。いくつものフレームワークがPHPの世界で使われるようになりました。
そうした中でも、もっとも多くの人に支持されているのが「CakePHP」というフレームワークなのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのCakePHP2 プログラミング入門」に戻る