新規ドキュメントはこちら(http://ozaki.kyoichi.jp/content/blogsection/4/26/)に掲載しております。

モジュールを作る

新規にモジュールを作成します。今回は、お決まりのHelloWorldモジュールを作成します。

 [k-ozaki@free15 ~]$ cd ~/workspace/MyProject/webapp/modules/
 [k-ozaki@free15 modules]$ mkdir  HelloWorld
 [k-ozaki@free15 modules]$ cd  HelloWorld
 [k-ozaki@free15 HelloWorld]$ mkdir actions config lib models templates validate views

モジュールの設定ファイルを作ります。モジュール別のconfigファイルの中で唯一必要なファイルになります。HelloWorld/config/module.iniを下記のような内容で作成しま

 [module]

    ENABLED     = "On"

    TITLE       = "Hello World Module"

    VERSION     = "0.1"

    NAME        = "HelloWorld"

    AUTHOR      = "Kyoichi Ozaki (ozaki@kyoichi.jp)"

    HOMEPAGE    = "http://ozaki.kyoichi.jp/"

    UPDATE_URL  = ""

    DESCRIPTION = "Hello World example module"

アクションを作成します。actionsディレクトリの中に、HelloWorldAction.class.phpというファイルを作成します。各アクションの命名規則は、”アクション名Action.class.php”となります。内容は下記のようになります

<?php

class HelloWorldAction extends Action
{

    public function execute ()
    {
        return View::SUCCESS;
    }

}

?>

ここで継承している親クラスのActionクラスでは、abstract functionはexecuteだけなので、とりあえず、executeを定義します。他は親クラスの動作を継承します。詳細については、MyProject/mojavi/actions/Action.class.phpを確認してください。今は、ただ単に、return View::SUCCESSを記述。つまり、ViewクラスのSUCCESS(成功)を返すようにします。

次には、Viewクラスを作る必要があります。viewsディレクトリの中に、HelloWorldSuccessView.class.phpを作ります。各ビューの命名規則は、"アクション名モード名View.class.php"です。モードは、ALERT、ERROR、INPUT、NONE、SUCCESS、RENDER_CLIENT、RENDER_NONE、RENDER_VARなどがあります。どれも目的に応じて使い分ける必要があります。どのようなときにどのモードを返せばいいかは後ほど説明します。詳細については、MyProject/mojavi/view/View.class.phpを確認してください。親クラスのPHPViewはViewを継承しており、”PHPファイル”をテンプレートファイルとして扱う場合のViewクラスです。定義する必要があるのはexcuteのみなので、こちらを実装します。内容は下記のようになります

<?php

class HelloWorldSuccessView extends PHPView
{
    public function execute ()
    {
        $this->setTemplate('HelloWorldSuccess.php');
    }

}

?>

必要最低限の設定をしています。このViewが呼ばれた場合に読み込むテンプレートファイルを設定するのみです。

最後に、実際の画面を作成します。HelloWorldSuccess.phpという名前で、テンプレートファイルを用意します。templatesディレクトリの中にHelloWorldSuccess.phpというファイルを作成します。内容は下記のようになります

<html>
<body>
Hello World!
</body>
</html>

これで終わりです。最後にブラウザから確認してみましょう。

http://localhost/MyProject/index.php?module=HelloWorld&action=HelloWorld

Hello World!と表示されればOKです。必要最低限の記述でモジュールとアクションの作成を行いましたが、あとはこれの応用になります。