ルールと制約が少ない = 習得コストが圧倒的に低い
- お約束の「class fugaController extends hogeController」みたいのを常に書く必要はありません。
- 手続き型プログラミングでごりごり書いてください。
- オブジェクト志向をあまり意識せずに開発できますので、特に初心者の方には使いやすいと思います。
※ ファイル名の命名規則や配置場所に決まりはあります。
MVC でなく LPV (Logic-Prep-View)
- Logic-Prep-View については、後の章で詳しく説明します。
- ロジックとビューは完全に分離していますので、WEBデザイナーさんとの共同作業もやりやすいです。
テンプレートエンジンは利用しない
- PHP もまた、テンプレートエンジンだからです。
- どうしても smarty 等を利用したい場合は、自前対応という選択肢もあります。(そこまで大変な作業でないと思います)
コントローラの概念はなく、リクエストに対応したモジュールを実行します
- ルーティングの設定は不要です。
- 少し凝った URL にする場合は、.htaccess に頼ります。
フレームワークのコア部は最低限の機能のみ提供
- コア部が提供する機能は下記になります
- URL から実行すべきモジュールの決定
- リクエストパラメータのハンドリングとバリデーション
- ビューへレスポンスをアサイン
- 画面遷移の制御
- メール送信機能
モジュールの再利用が可能(DRY)
- モジュールの中で、さらにモジュールの実行が可能 = モジュールのネスト
携帯やスマホ対応が簡単(DRY)
- 携帯用のビューは別途用意する必要がありますが、ロジックは共有できます。
WEB アプリケーションの独自機能はライブラリに委譲
- UNIX の思想である「1つのことをうまくやる」を踏襲しています。lmd は最低限の機能しか提供しません。
- 必要以上にフレームワークのコア部を肥大化させたくないのも大きな理由です。
- lmd では、デフォルトでいくつかのライブラリを提供しますが、気に入らなければ Zend や PEAR 等を利用していただくことも可能です。(Zend の多くのライブラリは疎結合なので、単体で利用できます)
- あなたが望めば、あなた好みのライブラリに総入れ替えできます
フレームワークに備え付けの、まったく肌に合わない API 仕様のライブラリと付き合う日々から開放されます。
次ページ: lmd のサンプルコード