2012年4月22日日曜日

はじめに(CakePHPってなんぞ?)

フレームワークのcakePHP2.1を勉強しないといけなくなった。

フレームワークって名前は聞いたことあったし、いずれ学ばないとって思ってはいたけど…
概要を知れば知るほど面倒くさそうに思えてくる。2.x系の日本語版の解説ページがまだそんなになさげというのも、ますます面倒くさい。英語版も読めなくはないけど、自国語で読めた方が理解もしやすいんだけどな。

とりあえず、まだフレームワークのフの字も知らないぼくが、フレームワークとCakePHPについて調べた内容のまとめから。

■フレームワークとは既に用意されるパーツを組み合わせて開発していく手法
簡単に言えば、普通のPHPはネジと板金を使って1から作成していくのに対して、フレームワークはある程度完成されたパーツを組み立てて作成していく、という違いかな。
その分短いコードで高速に開発していける、ということだろうか。

■CakePHPとはMVCフレームワークであること
CakePHPはM(Model=データ処理)、V(View=表示部分)、C(Contoller=内部処理)の3つに
作業をページで切り分けて開発していくフレームワークの仲間、らしい。
切り分けることでそれぞれのページが何の作業をしているかが明確となり、開発者とデザイナーが同時に作業できるようにもなるそうな。確かにそうだねぇ。

■命名規則が厳格
CakePHPは、それぞれのページの命名方法やMysqlデータベースのテーブル名も命名規則にのっとって作成しなければならない。更にはテーブルのフィールド名もある程度決まってくる。
ここに関しては基本のコアになるとも思うから、 次の次にでも忘れない為にも書いていこうかと思います。

■開発時はURLを見ればどのページのどの関数が使われてるかが一目瞭然
CakePHPでは、Controllerという1つのページで複数のページを扱うことになるらしい。
その場合、1つの関数が1つのページを意味するようになる。
Webページの開発では、投稿フォームやその結果ページ、一覧ページ、詳細ページなど同じコンテンツを複数ページにわたって処理、表示するということが多く、それらを1つのコードにまとめることで管理しやすくするのが目的、かな?
そして、URLを見れば簡単にどのControllerのどの関数が使われているのかがすぐわかる仕組みになってる。

■導入はCakePHPをダウンロード→ルートフォルダに放り込めばいいだけ
その後多少の設定はあるけど、基本はそれでできるっぽい。
Linuxならvar/www/html内、Windowsならapache/htdocsの中にフォルダごと放り込めばすぐ使えるようになる。
ただし、CakePHP2.0以上を導入する場合はPHPは5.2.8以上でないといけないらしい。


■ただPHPやMysqlとはまったくの別物だと考えた方がよさげ
PHPに関して言えば、殆どの関数をCakePHP内に用意されてる関数で処理するし、
Mysqlでも同じで、かつ複合プライマリキーは対応していない。というよりSQL文自体、CakePHP内で書けるようにはなってるけど基本は書かない。
ネジと板金の状態とある程度作られたパーツとだと扱い方も変わってくるってことですね。

とりあえず、今回は概要だけで次回からは導入方法などを記載していきます。
そんなのは普通に検索すればすぐにでてきますが…あくまでぼくが忘れない為になので。

【参考リンク】
cookbook2.x
初心者のためのCakePHP2.0 プログラミング入門
CakePHP.org
PHPフレームワークとは?-PHPプロ!

0 件のコメント:

コメントを投稿