lmd の特徴

ルールと制約が少ない = 習得コストが圧倒的に低い

  • お約束の「class fugaController extends hogeController」みたいのを常に書く必要はありません。
  • 手続き型プログラミングでごりごり書いてください。
  • オブジェクト志向をあまり意識せずに開発できますので、特に初心者の方には使いやすいと思います。

※ ファイル名の命名規則や配置場所に決まりはあります。

MVC でなく LPV (Logic-Prep-View)

  • Logic-Prep-View については、後の章で詳しく説明します。
  • ロジックとビューは完全に分離していますので、WEBデザイナーさんとの共同作業もやりやすいです。

テンプレートエンジンは利用しない

  • PHP もまた、テンプレートエンジンだからです。
  • どうしても smarty 等を利用したい場合は、自前対応という選択肢もあります。(そこまで大変な作業でないと思います)

コントローラの概念はなく、リクエストに対応したモジュールを実行します

  • ルーティングの設定は不要です。
  • 少し凝った URL にする場合は、.htaccess に頼ります。

フレームワークのコア部は最低限の機能のみ提供

  • コア部が提供する機能は下記になります
  1. URL から実行すべきモジュールの決定
  2. リクエストパラメータのハンドリングとバリデーション
  3. ビューへレスポンスをアサイン
  4. 画面遷移の制御
  5. メール送信機能

モジュールの再利用が可能(DRY)

  • モジュールの中で、さらにモジュールの実行が可能 = モジュールのネスト

携帯やスマホ対応が簡単(DRY)

  • 携帯用のビューは別途用意する必要がありますが、ロジックは共有できます。

WEB アプリケーションの独自機能はライブラリに委譲

  • UNIX の思想である「1つのことをうまくやる」を踏襲しています。lmd は最低限の機能しか提供しません。
  • 必要以上にフレームワークのコア部を肥大化させたくないのも大きな理由です。
  • lmd では、デフォルトでいくつかのライブラリを提供しますが、気に入らなければ Zend や PEAR 等を利用していただくことも可能です。(Zend の多くのライブラリは疎結合なので、単体で利用できます)
  • あなたが望めば、あなた好みのライブラリに総入れ替えできます
フレームワークに備え付けの、まったく肌に合わない API 仕様のライブラリと付き合う日々から開放されます。