TOP比較データ> Mojaviを利用したサンプル・アプリケーションの動き
徹底比較!! PHP & Java 〜 フレームワーク編
徹底比較!! PHP & Java 〜 フレームワーク編

第6回:Mojaviで機能を実装してみよう
著者:ワイズノット  土橋 芳孝   2006/1/31
前のページ  1  2  3  4
Mojaviを利用したサンプル・アプリケーションの動き

   それでは、サンプル・アプリケーションがMojaviで動作する様子を見てみましょう。
初期表示の動作

  1. 利用者はWebブラウザでhttp://localhost/index.php/module/Sample/action/Initへアクセスする。
  2. Webアプリケーションは上記1のURLにより、Sampleというモジュールが呼び出されたことを認識する。
  3. WebアプリケーションはモジュールSampleのmodule.iniを参照し、ENABLED属性がOnとなっているため、モジュールSampleが有効なモジュールだと認識する。
  4. Webアプリケーションは上記1のURLにより、Initというアクションが呼び出されたことを認識する。
  5. Webアプリケーションは、InitAction.class.phpを実行し、処理結果SUCCESSを得る。
  6. Webアプリケーションは、InitSuccessView.class.phpを実行し、テンプレートLogin.phpを表示する。


ログインの動作

  1. 利用者がログイン画面のログインボタンを押すとhttp://localhost/index.php/module/Sample/action/Loginへアクセスする。
  2. Webアプリケーションは上記AのURLにより、Sampleというモジュールが呼び出されたことを認識する。
  3. WebアプリケーションはモジュールSampleのmodule.iniを参照し、ENABLED属性がOnとなっているためモジュールSampleは有効なモジュールだと認識する。
  4. Webアプリケーションは上記AのURLにより、Loginというアクションが呼び出されたことを認識する。
  5. Webアプリケーションは、入力値チェックの必要がある(例えば、id.required = "Yes")とLogin.iniに記述されていることを認識し、Login.iniの設定内容に基づいた入力値チェックを行う。
  6. 上記Eで入力値チェックエラーが発生した場合、Webアプリケーションは再度ログイン画面を表示する。Webアプリケーションは、Login.iniよりエラーメッセージを取得(例えば、id.required_msg = "ログインIDを入力してください")して、ログイン画面にエラーメッセージを表示する。
  7. 上記Eで入力値チェックエラーが発生しなかった場合、WebアプリケーションはLoginAction.class.phpを実行する。LoginAction.class.phpはデータベースより認証に必要な情報を取得して認証処理を行う。
  8. 上記Gで認証エラーが発生した場合、LoginAction.class.phpの完了ステータスは"View::ERROR"となる。WebアプリケーションはLogin.iniよりエラーメッセージを取得し、エラーメッセージを変数に格納した後、LoginErrorView.class.phpに処理を移す。LoginErrorView.class.phpでは、変数に格納されたエラーメッセージを画面表示用に加工した後、ログイン画面にエラーメッセージを表示するため、テンプレートLogin.phpを呼び出してログイン画面を表示する。
  9. 上記Gで認証エラーが発生しなかった場合、LoginAction.class.phpの完了ステータスは"View::SUCCESS"となる。LoginAction.class.phpはLoginSuccessView.class.phpに処理を移す。LoginSuccessView.class.phpは、データベースより登録者情報の一覧を取得し、画面表示用の加工を行った後、トップ画面に登録者情報の一覧を表示するため、テンプレートTop.phpを呼び出してトップ画面を表示する。


ログアウトの動作

  1. 利用者がトップ画面のログアウトアンカーを押すとhttp://localhost/index.php/module/Sample/action/Logoutへアクセスする。
  2. Webアプリケーションは上記aのURLにより、Sampleというモジュールが呼び出されたことを認識する。
  3. WebアプリケーションはモジュールSampleのmodule.iniを参照し、ENABLED属性がOnとなっているため、モジュールSampleは有効なモジュールだと認識する。
  4. Webアプリケーションは上記bのURLにより、Logoutというアクションが呼び出されたことを認識する。
  5. WebアプリケーションはLogoutAction.class.phpを実行し、処理結果SUCCESSを得る。
  6. WebアプリケーションはLogoutSuccessView.class.phpを実行し、テンプレートLogin.phpを表示する。


まとめ

   ここまで、代表的なWebアプリケーション・フレームワークであるStrutsとMojaviについて、基本的な機能の実装方法を見てきました。

   JavaとPHPを代表するこの2つのWebアプリケーション・フレームワークは根本的な設計思想こそ違いますが、MVCモデルを活用することでWebアプリケーションの複雑さを隠蔽しています。Webアプリケーション・フレームワークが生産性と品質を向上させるために非常に有効なものであることを読者の皆様にご理解いただければ筆者としてもうれしく思います。

   次回はStrutsとMojaviについて総合的な比較を行っていきたいと思います。ご期待ください。

前のページ  1  2  3  4


ワイズノット
著者プロフィール
株式会社ワイズノット  土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。


INDEX
第6回:Mojaviで機能を実装してみよう
  Mojaviを利用したサンプル・アプリケーションに機能を追加する
  Top.phpの修正
  LoginErrorView.class.phpの追加
Mojaviを利用したサンプル・アプリケーションの動き