@634

HelloWorld(デフォルトアクション)の作成

Advertisement

HelloWorldを表示するようにプログラムを作成

Mojaviでは、ウェブブラウザからドキュメントルート(ここでの例ではhttp://localhost/mojavi/)にアクセスした場合、デフォルトアクション(DefaultAction)として設定されているアクションが実行される。

デフォルトアクションは、config.phpで指定する。導入の段階では下記のように設定されている。
/**
 * The action to be executed when a request is made that does not specify a
 * module and action.
 */
define('DEFAULT_MODULE', 'Default');
define('DEFAULT_ACTION', 'DefaultIndex');
この指定により、DefaultモジュールにあるDefaultIndexアクションが実行される。
ただし、導入段階ではDefaultIndexアクションは存在しないため、エラーとなる。

ここでDefaultIndexとして、画面にHelloWorldと表示するプログラムを作成する。

アクション(Action)の作成

Mojaviでは、ウェブブラウザからURLを指定してアクセスされた場合、はじめに対応したアクションが呼ばれる。
アクションでは、画面から入力されたデータの受け取りやビジネスロジック等を処理した後、任意の文字列を返すことで対応するビューを呼び出す。文字列は任意だが、mojaviにあらかじめ定義されている文字列(VIEW_SUCCESS, VIEW_INPUT, VIEW_ERROR, VIEW_ALERT等)があるので、通常はこれを利用する。
アクション名はフレームワーク側で決まっているので、それに従う。アクションの配置場所は該当モジュール内のactionsディレクトリになる(ここではmodules/Default/actions)。

アクションの命名方法
「アクション名」+Action.class.php

導入時のデフォルトアクションはDefaultIndexとして定義されているので、DefaultIndexAction.class.phpとなる。

DefaultIndexAction.php
<?php
class DefaultIndexAction extends Action
{
    function execute (&$controller, &$request, &$user)
    {
        return VIEW_SUCCESS;
    }
}
?> 
クラス名は前述の通りで、Mojaviで用意されている基底アクションActionクラスを継承する。アクションが呼ばれると、executeメソッドが呼び出される。

ビュー(View)の作成

アクションの実行が終了すると、画面表示を行うためにViewクラスが実行される。
アクションの実行結果により、表示するビューを変えることができる。前述のアクションのexecuteメソッドでVIEW_SUCCESSという定数を返却したが、VIEW_SUCCESSにはsuccessという文字列が定義されている。この場合、以下の名前のビューが呼び出される。
アクション名View_success.class.php
仮に、返却した文字列がVIEW_INPUT(input)の場合だと、呼ばれるビューはアクション名View_input.class.phpとなる。

よって、ここではDefaultIndexView_success.class.phpとなる。ビューの配置場所は該当モジュール内のviewsディレクトリになる(ここではmodules/Default/views)。

DefaultIndexView_success.class.php
<?php
class DefaultIndexView extends View
{
    function & execute (&$controller, &$request, &$user)
    {
        $renderer = new Renderer($controller, $request, $user);
        $renderer->setTemplate('DefaultIndex.tpl');

        return $renderer;
    }
}
?>

テンプレート(Template)の作成

Mojaviでは、ページの枠組みを用意する仕組みとして、テンプレートというものを利用する。テンプレートは該当モジュール内のtemplatesディレクトリに格納しておく。テンプレートの命名は、アクションやビューと異なり自由に行うことができる。

前述のDefaultIndexView_success.class.phpでは、DefaultIndex.tplというテンプレートを呼び出すように指定したので、それに従いテンプレートファイルを作成する。

DefaultIndex.tpl
<html>
<head>
<title>HelloWorld</title>
</head>
<body>
HelloWorld
</body>
</html>

完成

アクション、ビュー、テンプレートが完成したら、再びブラウザからドキュメントルートにアクセスしてみると、DefaultIndexActionが呼ばれ、画面にHelloWorldと表示される。

図1:動作例
図1:動作例

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール