フレームワークとは

先日のPHP勉強会で「フレームワークとは何ですかね」という疑問を出した。
月宮さんとの話では、WEBアプリを作る規約・決め事全般のことかね、という事だった。ただ、僕のイメージとは少しずれるところがあった。

で、今日、以下の文書をよんだ。
制御の逆転 Martin Fowler
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?InversionOfControl

フレームワークの重要な特徴の一つは、
フレームワークに合わせて利用者が定義したメソッドが、...
フレームワーク自身からよく呼び出されるという点

フレームワークをこういうものとして捕らえるのが僕のイメージに近いかも知れない。
PHPの伝統的な手続き型のWEBアプリの書き方、つまり、アクセサになるページ(index.phpとか)にswith文で処理の振り分けを書いておいて、case内でライブラリを使ったりして個々の処理をする、というのではまったくない。

目的の処理を初めとして、認証とか、個別の処理を別々に書いておいて、それらの処理が自動的に呼び出される仕組みが「フレームワーク」である。