CakePHPってなに?WEBアプリケーションフレームワークってなに?美味しいの?

2011/03/08 | 開発記録 | admin

CakePHPってどんな時に使えば良いの?という質問をもらったので書いてみます。
ぶっちゃけると、WEBアプリケーションならなんでもOKですw
それじゃあ、あんまりなので、僕がCakePHPを使うようになった経緯を書いてみます。

頭から順々に処理を書いて行き、必要に応じて関数に切り分ける。いわゆる関数型って言うんでしょうかね?
初めは、そんなプログラミングでした。
今でも、あんまし変わらないけど。
具体的には、ページ毎に.phpファイルを作って行き、共通する処理はconfig.phpにまとめておく。
という、それだけ。
さらに具体的には、ファイルの上部にPHP、下部にHTMLと言う構成で1ページの.phpを書いてました。
これはもちろん俺流で、気分によって微妙に書き方が変わっていました。
変数も関数も命名規則はなく、ディレクトリ構成は完全にその時の気分で作ってました。
独学で俺流なので、適当に書くことの弊害を理解していなかったんですね。
簡単なものなら俺流でもまったく問題ありません。
それこそ1ページで完結しているようなアプリケーションとか。
でもそこそこ複雑で、何十ページにも及ぶようなアプリケーションになってくると話は違いました。

そこそこな規模になることは分かっていたので、俺流は俺流でもある程度は規則を作って臨みました。
しかし規則に当てはまらない想定外な事態が次々に発生し、はじめに作った俺流規則は全く役に立たなくなってしまいました。
できたアプリケーションは動くには動くが、明らかにスパゲッティなコードでした。
だって自分で作ったのに、自分で直せないんだもんw

規則を作るの面倒だ!
どっかに誰かが作って、そして実践で生かされている規則はないのか?
あるんですね~w
オープンソースって素晴らしいですね!
その規則が、フレームワークです。

そのころ巷では、ruby on railsが流行っていて、PHPフレームワークも注目を浴びてたように思います。
なんでも、ruby on railsは超速でアプリケーションが作れるんだとか。
そしたら僕も使ってみたいぞ、どれを使えば良いんだ?

CakePHPは、初めから規則が決まっていてそれに従って作る。
ディレクトリ構成が分かり易い。(主観ですが)
日本語情報が比較的多め。
ruby on railsに似ている。
基本的にCakePHP単体で動く。その他のライブラリとか要らない。
この辺がCakePHPを選んだ理由でしょうかね?
あと以下のサイトにある動画も影響大きかった気がします。
10分で作るCakePHPアプリ for Windows
http://moyashi.jp/cake/

なんでCakePHPとかのフレームワーク使うと、早く開発ができるの?、って話なんですが、
データベースを使ったアプリケーションなら、登録する、削除する、編集する、一覧する、っていう主な4つの動作、それ自体にそんなに違いは無い。
なので予め作っておいて、それを改造すれば良い。
具体的にどんだけ早いの?って話なんだけど、データベースが作ってあって、環境があって、CakePHPも設置済みであれば、
主な4つの動作をするアプリケーションが数秒で出来てしまいます。
これは誇張しているわけではなくて本当です。
つまりフレームワークに沿ったアプリケーションが自動で生成されてしまうわけです。
あとはそれをカスタマイズすれば、希望通りのアプリケーションが完成するっていう流れです。
まあ実際にはそこまで簡単では無いんですが。

さらに具体的に、どんな場面で使えば良いのか?
例えばWordPressだって、カスタマイズすればなんでも出来るようにはなるでしょう。
ですが新しいテーブルをいっぱい追加して、それが複雑にリレーションするようなカスタマイズが、果たして簡単でしょうか?
WordPressの機能を半分も使わないようなアプリの開発に、WordPressを使う意味はあるでしょうか?
疑問に感じたら、CakePHPの出番かもしれません。

人の欲求に答えるように、WEBアプリケーションはどんどん複雑になって来ています。
しかしその度にプログラマー達は、複雑なアプリケーションを簡単に作れるように、新しい技術を創り出してきました。
CakePHPもその一つなのだと思います。

前の記事:

次の記事:

2011/03/08 | 開発記録

コメント/トラックバック

トラックバック用URL:

この投稿のコメント・トラックバックRSS




管理人にのみ公開されます

前の記事:

次の記事:

【baserCMS】toolbarを非表示
【baserCMS】toolbarを非表示

画面上部にひょこっと、[デバッグモード1]とか表示されるアレを削除、非...

[baserCMS]Router::connectが効かない
[baserCMS]Router::connectが効かない

baserCMSというよりCakePHPの話かも知れないんだけど、 c...

2017年9月 さくらのVPS、LAMP(CentOS7)、SSL、etcセットアップ
2017年9月 さくらのVPS、LAMP(CentOS7)、SSL、etcセットアップ

基本的にhideichiの備忘録です。 色んな記事を参考にしながら作っ...

[PHP]urlを指定してtitleとrssを抜き出すサンプル
[PHP]urlを指定してtitleとrssを抜き出すサンプル

URLを指定して、タイトルとRSSフィードURLを抜き出すサンプル。 ...

[baserCMS]CSRF対策によるエラーです。
[baserCMS]CSRF対策によるエラーです。

CSRF対策によるエラーです。リクエストに含まれるCSRFトークンが不...

→もっと見る

PAGE TOP ↑