Lambda(ラムダ)はLPVモデルを用いたDRYをモットーにしたPHP製のフレームワーク。

Lambda(ラムダ)はPHP製のオープンソース・ソフトウェア。PHPには大掛かりなフレームワークは似合わないと考えている。1つか2つくらいのファイルでシンプルに作ってしまう方がPHPに向いているのではないだろうか。ソースにHTMLを書くと見栄えと保守性は悪いが、それがPHPの良さなのかと思う部分もある。


デモ。バリデーションも実装されている。

だが同じことを繰り返し書くのは問題だ。よく行う処理や、使い回しができるようなものはまとめておくべきだろう。DRYに則ったフレームワークとしてLambda(ラムダ)を紹介しよう。

Lambda(ラムダ)はPHP5.3以上で使えるフレームワークだ。LPV(Logic-Prep-View)という開発モデルになっている。Prepはヘルパー的なものと思われる。そしてロジックでビューに渡す変数を定義し、ビュー側で記述する。デフォルトでHTMLのエスケープが行われる。


確認フォーム。これもよくある要件だろう。

リクエストのパラメータを取得する際に正規表現を適用して条件にマッチしない場合はNullを返す(例えば数値チェックなどに使える)、O/Rマッパー、モバイル判定、メール送信機能があるなどよく使われる機能に厳選して提供されている雰囲気がある。実際本体のコードはコメントを除けば800行程度とシンプルにまとまっている。

日本製なので、日本の事情(メールのローカライズや携帯電話サポートなど)を含んでいるのも嬉しい。コントローラではないので、各ロジックは上から下に流れていく、PHPスクリプトらしい作りになっている。よく行われる処理をほどよくシンプルにしてくれる印象だ。

MOONGIFTはこう見る

PHPの良さはスクリプト中のどこからでもHTMLに対して出力できることだ。それが悪い場合もあるが、他の言語ではできない部分でもある。それを利点と見るか、使わないように消し去ってしまうかはフレームワーク次第だ。ただ使える機能を使わないのは勿体ない。

MVCが主流の現在ではあるが、何も全ての言語でMVCが最適解という訳ではないだろう。個々の言語の特性によってベストな選択は違うはずだ。PHPにとってベストな選択を考えた時、数多にある大型のフレームワークが良いとはどうにも思いがたい。もちろんLambdaが最適かどうかは分からないが、PHPらしいフレームワークだと感じられた。

PHPフレームワーク:Lambda(ラムダ) | PHPフレームワーク「Lambda(ラムダ)」のドキュメント、リファレンス、ダウンロード