ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

第1回:フレームワークとMojavi

PHPフレームワークの使い方を学習するために、うってつけのサイトを見つけた。1週間くらいでやれればと思う。

【連載】PHP用MVCフレームワーク Mojavi

第1回:フレームワークとMojavi 2004/10/04
http://www.stackasterisk.jp/tech/php/mojavi01_01.jsp

大規模なWebアプリケーション開発の効率の向上によく用いられるのがフレームワークの導入です。「Mojavi」は数あるPHP用フレームワークの1つであり、その使い勝手の良さから国内外で静かなブームとなりつつあります。第一回目ではフレームワークとはなにか、フレームワークの導入によりどのような効果があるのか、Mojaviとは何なのか、どんな特徴や機能を持っているのか、といった事をMojaviとその他のフレームワークとを比較しながら解説します。



2004年か。
情報はやや古くなっているかもしれないが、それは全く構わないのだ。古くなったmojaviなら、ネット上に残されている情報資源も豊富だろうから。
mojaviを学んでから、symfonyを学ぶのでも遅くはないだろう。たったの1週間くらいなら、mojaviに費やす時間は多くない。

待ってろよ!最新のフレームワークどもめが!!!
(変なところでテンションあげてもしゃーないなw)

フレームワークには出入力や画面遷移を始めとし、デザインとロジックの分離機構や、認証やセッションの管理、などの基本的な機能を提供するアプリケーションの土台や枠組みといえるもので、導入すればよく使う機能を開発者が実装する必要が無くなり楽ができ、設計者も詳細な部分まで設計をする必要がなくなり設計の難易度は下がり時間もかからなくなります。それだけでなく、よく利用する機能のためのコードがあちこちに散乱することもなくなりソースコードの見通しと開発効率の改善が見込めます。

 また開発者はフレームワークの機能を使うことで自然とフレームワーク、すなわち枠組みの中に収まるため、設計とは違った実装方針への強制力があります。このため同じような処理をするならば誰が作っても同じようなコードになるため品質の一定化も見込むことができます。



そういうこった。フレームワークのメリット。

MojaviはMVCデザインパターンに基づいたフレームワークです。
MVCとはStrutsなどJavaで広く用いられている技術で、


  • Model データベースアクセスなどデータの取得やロジックを担当する
  • View 処理結果などのデータの表示を担当する
  • Controller ModelとViewを統括する

の三つの層からなるデザインパターンの略称です。この形態の利点としては、機能を役割単位に独立性が高い状態で分割することにより分業がしやすくなることにあります。たとえばプログラマーならModelに、デザイナーならViewに専念するといった具合です。



mojavi01_01.png


Mojaviの素晴らしいところは数多くありますが、特にControllerにあたる部分の作成がStrutsやASP.NETに比べてもとても楽なところは魅力的です。例えばStrutsやphrameなどではController部分をXML形式(phrameならばphp形式)の設定ファイルで設定する必要があります。対してMojaviではModelとViewに対応するファイルを用意するだけで自動的に両者をつなげてくれるためControllerの存在を気にする必要がありません(図2)。

 その他にもMojaviを特徴付けるものとして、Viewには有名なテンプレートエンジンSmartyを、Modelには高速なRDBMS接続を提供するADOdbをといったように他プロダクトを違和感なく容易に利用できるといった特徴もあります。

 MojaviにはStrutsでいうFormBeanにあたるものが存在しないのですが、HTML_QuickFormなどのプロダクトと組み合わせれば同様なことが実現できます。これは欠点に見えるかもしれませんが、フレームワークを状況に応じて容易に組み合わせることができるというのは利点でありMojaviの特徴なのです。

 この選択の自由度の高さは、様々なプロダクトが豊富に選択できるphpという言語に適した形のフレームワークであると思われ、他のフレームワークより優れていると言える点です。



mojavi01_02.png


他にもMojaviは


  • RDBMSも使用できるセッション管理
  • ログ管理
  • 認証および特権の管理
  • 複数のアクションを連携させることができるアクションチェイン
  • 複数使用できるプレフィルタ、ポストフィルタ
  • データの妥当性を検証するValidator
  • SQLのクエリー生成ユーティリティクラス

などのアプリケーション開発に必要な機能はそろえています。


関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/111-cee54221

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。