フレームワークって名前は聞いたことあったし、いずれ学ばないとって思ってはいたけど…
概要を知れば知るほど面倒くさそうに思えてくる。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 件のコメント:
コメントを投稿