libro
www.tuyano.com
初心者のためのCakePHP2 プログラミング入門

CakePHP 2.0開発の準備をしよう! (2/6)

作成:2011-10-31 08:06
更新:2011-10-31 08:06

■CakePHP 2.0とは?

CakePHPは、Cake Software Foundation, Inc.という団体が開発するPHPのWebアプリケーションフレームワークです。Webアプリケーションの開発用に用意されたものなのですね。こうしたフレームワークはいくつかありますが、CakePHPがもっとも一般に広く使われているといってよいでしょう。

では、このCakePHPというのは、どのようなフレームワークなのでしょうか。簡単に整理しておきましょう。

1. MVCアーキテクチャー
MVCというのは、「Model-View-Controller」の略です。この種のフレームワークで広く使われているアーキテクチャーで、それぞれ以下のようなものを管理しています。

Model(モデル):データベースアクセスを担当するものです。
View(ビュー):画面表示を担当するものです。
Controller(コントローラー):ロジックを担当するものです。

基本的なプログラムの処理部分はコントローラーによって用意されます。そこから、画面表示部分とデータベースアクセスの部分を切り離して独立させている、と考えるとイメージしやすいでしょう。

2. 設定ファイルから命名規則へ
この種のフレームワークでは、様々なプログラムやファイルが関連し合いながら動きます。このため、各ファイルやプログラムの関係を設定ファイルなどに記述しておくのが一般的でした。が、CakePHPは違います。設定ファイルを配し、命名規則を重視しています。

先ほどのMVCなども、「このコントローラーからどのビューを使うのか、どのモデルからデータベースにアクセスするのか」といった情報は、設定ファイルなどに用意する必要はありません。あらかじめきめられた形式でそれぞれの名前をつけておけば、CakePHPが勝手にそれらの関連を判断し動いてくれます。この方式は設定ファイル方式に比べ、はるかに開発がしやすいのです。

3. 強力なコード生成機能
CakePHPには「bake」と呼ばれるコンソールプログラムが用意されています。これは、アプリケーションの基本的なファイルを自動生成してくれるものなのです。CakePHPでは設定ファイルはほとんど使いませんが、それでも使用するデータベースに関する情報は設定ファイルを作らないといけません。が、これもbakeで必要事項を入力するだけで自動的に作ってくれます。またMVCの各ファイルも、bakeによりスタンダードな形のものが自動的に作成できます。後は、それをもとにアレンジしていけばいいのです。

4. 利用の簡単さ
CakePHPは、ただ使うだけなら面倒なインストールなどは必要有りません。ダウンロードしたファイルを展開してWebサーバーの公開ディレクトリに放り込んでおくだけです。実にシンプル。また必要なものはすべて揃っていますから、別途なんとかライブラリを用意して……などということもありません。


――他にもいろいろと長所はありますが、「利用が簡単でわかりやすく、手間がかからない」というのが最大の特徴でしょう。他のフレームワークは、強力だけど利用が面倒だったり、簡単だけど機能が弱かったりと長所もあれば欠点もあるのですが、CakePHPは全体的にバランスよくできている、といってよいでしょう。

■CakePHPのバージョンについて

このCakePHPは、これまで1.x台のものが長年すこしずつバージョンアップして使われてきており、現在は「1.3」が最新バージョンとなっています。が、2011年、大幅に改良された全く新しいバージョン「2.0」がリリースされることとなりました。といっても、1.3からのユーザーもまだまだ圧倒的に多く存在するため、1.3も平行してリリースされています。つまり、「従来の1.3と、全く新しくなった2.0」の2つのものが存在するわけです。

2.0は、基本的な仕組みなどは同じですが、プログラムの書き方などがかなり変わっているため、1.3のプログラムをそのままコピー&ペーストしてもエラーになって動かないでしょう。そこで、1.3の入門とは別に、2.0用の入門を用意することにしたわけです。

ですから、ここでまず「1.3と2.0のどちらを使うか」を決めてから、以後の作業に進むようにしたほうがよいでしょう。2.0のほうが新しいのは確かですが、圧倒的多くの情報やコードは1.3を対象にしており、2.0の情報はまだまだわずかです。また1.3も、当分の間はサポートされ続けますから、既に1.3を使っている人が慌てて2.0に移行する必要はありません。


※1.3から勉強したい、という方は、以下に1.3用の入門がありますのでそちらを参照ください。

http://libro.tuyano.com/index2?id=8002

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのCakePHP2 プログラミング入門」に戻る