簡単なフォームの作成
いよいよお手軽なフォームの作成です。
今回は、1つの画面で入力と表示をおこないます。
4つのファイルで構成します。
- エントリポイント
- アクションクラス
- maple.ini設定ファイル
- テンプレートファイル
エントリポイント
htdocs/test/form.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_form'); define('LOG_LEVEL', LEVEL_TRACE); /** * フレームワーク起動 */ $controller =& new Controller(); $controller->execute(); ?>
DEFAULT_ACTION を test_form としました。
これで、アクションクラスの命名もすべてきまります。
アクションクラス
webapp/modules/test/form/Form.class.php を作成します。
<?php class Test_Form { var $name; var $email; function execute() { return 'success'; } } ?>
属性には、フォームのエレメントのリクエストパラメータ名を登録します。
今回は、<input type="text" name="name"> <input type="text" name="email"> の2エレメントを作成します。
テンプレートファイル
フォームのテンプレートを作成します。
今回は、上部にフォーム、下部に表示部分を作成しています。
<html> <body> form test <form method="post" action="test/form.php"> Name:<input type="name" name="name" value="{$action.name}"><br> Email:<input type="name" name="email" value="{$action.email}"><br> <input type="submit" name="dispatch_test_form" value="Submit"> </form> <hr> Name:{$action.name}<br> Email:{$action.email}<br></body> </html>
入力値は、アクションクラスの属性に自動的に、setterを通じてセットされるので。
{$action.name}で取り出すことができます。
簡単でしょ?
次は、Converterを使って入力変換をしてみます。