mapleのHelloWorldまで

今更ですが、mapleを真剣に触り始めたので、ちょっと使い方をまとめてみました。

mapleのインストールは省略します。

インストールは、下記URLを参考にして下さい。
http://kunit.jp/maple/support.html

動かす準備

動かすためには、4つのファイルを作成します。

  • エントリポイント
  • アクションクラス
  • maple.ini設定ファイル
  • テンプレートファイル

エントリポイントの作成

まず最初にアクセスされるファイルです。
通常のhtdocs以下にある、phpファイルですね。
htdocs/test/index.php に作成します。

<?php
error_reporting(E_ALL);
//error_reporting(0);
 
/**
 * MapleのBaseディレクトリの設定
 */
define('BASE_DIR', dirname(dirname(__FILE__)) . '/..');

/**
 * Debugフィルターを発動させるかどうかの設定
 */
define('DEBUG_MODE', 0);
 
/**
 * Mapleの設定ファイルの読込み
 */
require_once BASE_DIR . "/webapp/config/maple.inc.php";

/**
 * このアプリの独自設定
 */
define('ACTION_KEY',     'action');
define('CONFIG_FILE',    'maple.ini');
define('DEFAULT_ACTION', 'test_main');
define('LOG_LEVEL',      LEVEL_TRACE);

/**
 * フレームワーク起動
 */
$controller =& new Controller();
$controller->execute();
?>

ほとんどの部分がおまじないです。
1カ所だけ、DEFAULT_ACTIONを設定しないといけません。


実行する、デフォルトのアクションクラスの位置を指定します。
位置指定は、フォルダ構造も含めて厳格に決まっています。


今回の例では、test_mainなので。
webapp/modules/test/main/Main.class.php
のファイルを指します。
_ は / に置き換えて読むとわかりやすいですね。
他の位置に置いてしまうと、動きませんので要注意です。

アクションクラス

アクションの動作を決めるアクションクラスを作成します。
mapleはアクションという単位で、動作をおこないます。

webapp/modules/test/main/Main.class.phpにファイルを作成します。

<?php
class Test_Main {
    function execute() {
        return 'success';
    }
}

アクションクラスには、executeメソッドが必ず必要です。
アクション実行時には、executeメソッドが自動的に呼び出されます。
executeメソッドは、なんらかの返却値が必要になります。返却値は、次で説明するmaple.ini設定ファイルで必要となります。

maple.ini設定ファイル

webapp/modules/test/main/maple.ini に設定ファイルを記述します。
アクションクラスと同じディレクトリに置くことが必要です。

[View]
success = "test/index.html"


先ほど、アクションクラスのexecuteメソッドで指定した、返却値に関連づけるテンプレートを記述いたします。
今回の場合は、successの場合は、test/index.html

テンプレートファイル

最後にテンプレートファイルです。
webapp/templates/test/index.html にファイルを作成します。

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

上記の4ファイルを作成することで、mapleでは、HelloWorldを出力することができます。


htdocs/index.phpにアクセスすることで、Hello World!と表示されるのを確認できると思います。
でなければ、どこか打ち間違えている可能性が高いので、見直してみてください。
http://hoge.com/test/index.php
hoge.comは適当に置き換えてください。


HelloWorldを出力するのに、ここまで手間がかかると、どこがいいのやらと思いますね。
でも、本当の力を発揮するのは、フォームを使うときです。
それは、後々紹介します。