おいしい食べ方CakePHPは、PHP言語の高速開発用フレームワークです。日々、発展を遂げる各種フレームワークの動向を見極めつつ、日本発のCakePHP応援ブログとして、最新情報をお届けします。考え方でのアーキテクチャと機能をPHPに移植しようというところから始まっており、その他のいろいろなフレームワークもそれぞれの仕方でそれを行なっています。Cakeには、有名になったRubyフレームワークとの共通点が多くありますが、現在では、独自の発展を遂げています。事実上、移植ではなく(PHPになくてRubyにある機能のことを考えるとそれは不可能に近いでしょうが)、RailsのアーキテクチャとRADフィロソフィーを非常にPHPらしい仕方で実装していったものです。いった部分に取り組んでいるので、これまでのPHPワールドとは一線を画すものとなっています。CakePHPは、PEARやPropelといった追加ライブラリを何も必要としません。CakePHPの中には、コンポーネントやヘルパーによって組み込まれている多くの機能があり、それを簡単に拡張できるアーキテクチャになっています。そのすべては300kにおさまっています。含む多くのほかのPHPフレームワークでも一般的になっているものです。この非常に直感的、でも強力なコンセプトをあまりよく知らないという人は、自分のウェブアプリケーションを、ブログやフォトギャラリーといった幾つかの主な部分に分ける(コントローラ)ことを想像してみてください。それぞれの部分では、データベースのテーブル(モデル)へのアクセスがあるはずです。テンプレートファイル(ビュー)もあって、内容をユーザに表示するために使用されます。アーキテクチャを現実世界の例でざっくばらんに形にしてみるとこんな感じかもしれません。言い換えると、コントローラはアプリケーションのビジネス(取引)ロジック部分を扱い、データのソース(モデル)とプレゼンテーション層(ビュー)のコードとは別になるようにします。この分離政策は、始めのうちはちょっと厳しすぎるように感じるかもしれません。(例えば、ビューの中にビジネスロジックを入れたくなるかもしれません。)でも、長い目で見ると、コードのメンテナンスのしやすさを高めることができます。CakePHPは公式サイトから自由にダウンロードすることができます。インストールの必要もありません。圧縮されているアーカイブファイルの中身をWEBサーバの公開ディレクトリに解凍すると、フレームワークを配置し、プロジェクトの骨組みを作ったことになります。CakePHPのディレクトリ構造は、分かりやすいように設計され、コードの分離を賢く行なえるように定義されています。vendors/CakePHPに詳しくない人でも、ある程度、どこにどのファイルをおけばいいのか理解できます。上の階層には三つのフォルダがあります。フレームワークそのものがあります。空のプロジェクトがあります。サードパーティのライブラリを入れる場所です。CakePHPでプロジェクトを作るとき、cakeフォルダの中身に触る必要はまったくありません。フレームワークのソースコードは、ユーザプロジェクトとはいつも別になっています。Configuration、「細かく設定するより適切な規約で無設定に」というものです。実際に、幾つもの設定ファイルや、隠れている設定などでセッティングをする必要はまったくありません。フレームワークは、どこに何があるか、また特定の作業にはどのクラスをロードするのが適切化、といったことを賢く面倒を見てくれます。決まっているディレクトリ構造がこの賢い動作に一役買っています。変更する設定ファイルは二つしかありません。デバッグレベル、セッションタイムアウトなどのアプリケーションの設定がいろいろ入っています。データベースに(persistent)接続するために必要です。繰り返しになりますが、理解するのに難しすぎるところはありません。いった様々なデータベースに対応しています。このファイル(database.php)を一度編集するだけで、CakePHPの機能が十分に利用でき、アプリケーションの開発を始めることができます。|CakePHPフレームワークをざっと紹介http://hades.phparch.com/ceres/public/article/index.php/art::cakephp::overview/0を軽く訳してみました。最近、PHPプログラミングで利用できるフレームワークがいろいろあります。ウェブ開発をすばやく進め、退屈な作業を減らし、より整理された形にすることを目指した、RAD(ラピッド・アプリケーション・デベロップメント、速攻アプリケーション開発)フレームワークが非常に多くなっています。非常に有名になったRADフィロソフィーを取り入れた、初期からのPHPプログラミング言語用フレームワークのひとつです。v1.0は現在、PHPプログラミングでは非常に有名な、そして直感的なソリューションのひとつとなっています。その理由は何でしょうか?PHPプログラミング言語がポピュラーになった理由の中には、開発者が簡単にパワフルなウェブアプリケーションを作成できる、ということがあります。PHPは動的に型づけされる言語で、手続き型言語として生まれ、当初は、単なるフォームインタプリタとして考え出されたものでした。当時は、いろいろなことが非常にシンプルでした。PHPの人気が出てくると、開発コミュニティが追加の関数や機能をコアの部分に含めて欲しいと求めるようになり、最新のPHP5では、WEB開発に関係したありとあらゆる機能が提供され、単なる基本フォームを扱うものから、プラットフォーム特有のシステム機能までもカバーしています。PHPにも弱点というものがあり、コアレベル(ネームスペースがない、命名規則が一貫していない、など。)でも、利用者レベルでも、きれいにまとまらない部分があります。PHPのコードは、HTMLページの中にそのまま埋め込むことができるので、たくさんの開発者(初心者から経験者まで)は、この特徴を使って、非常にからまったコードや、乱雑なスパゲッティコードのお手本のようなものを作っていました。確かに、1枚のphpファイルを使い、データベースに接続し、幾つかの結果を取り出し、それでいくらかの操作をしてHTMLのテーブルで表示する、というのでも動きはします。良いコーディングをする習慣を作るためには、それでは不十分です。巨大な、1枚で完結するするスクリプトが大量にあって、それぞれに同じくらいの、こんがらかった複雑なコードが入っているところを想像してみてください。想像できるのは、動くし、実行させれば速く動くかもしれない非常にごちゃごちゃのコードで、管理し、バグを取るのはまさに悪夢、というものです。PHPコードを書く開発者たちとZendが最近まで特に「してこなかった」ことがあります。それは、こうしたカオス状態の中に秩序を作り、ある種の構造化や決まりごとを提供するフレームワークを公式に作成し、PHPアプリケーションの開発とメンテナンスを楽にする、ということです。新しいZendフレームワークで動き始めている、というところですが、おそらくそれは遅すぎたと言ってもよいかもしれません。新しいZendフレームワークはいまだ開発中であるのに対して、その代替策となる、驚くような効果を起こすことができる、安定したさまざまなフレームワークが登場しているからです。"CakePHP"は間違いなく、その一つだと言うことができます。Designs)CakePHP用テンプレート(Business)CakePHP開発者へのインタビューCakePHPの概要このブログのメール配信は、こちらから。cakephpと入力してください。2.0Seesaaブログ×この広告は180日以上新しい記事の投稿がないブログに表示されております。