配列対応core / Request.class.php(maple3.0.2版)


maple

ダウンロード

配列対応core/Request.class.php(maple3.0.2版)

インストール

  1. 解凍するとRequest.class.phpというファイルできる
  2. 解凍してできたRequest.class.phpをMAPLE_DIR/core/Request.class.phpと入れ替える

この改造でどんなことが可能になるのか?

  • 直接的な変化は、設定ファイルmaple.iniでこのように配列を扱うことができるようになります
    [Convert]
    
    param[name].trim =
    param[email].trim =
    param[year].trim =
    param[year].toHalf =
    param[month].trim =
    param[month].toHalf =
    param[day].trim =
    param[day].toHalf =
    param[year],param[month],param[day].date = date
  • Actionクラスではリクエストパラメータの数だけセッター・ゲッターが必要でしたがたったの6行だけで堂々と安心して*1リクエストパラメータの受け渡しが可能です。例えばtemplateで
    <input type="text" name="param[name]">
    <input type="text" name="param[email]">
    のように書いておけば、Actionクラスではこのように6行でリクエストパラメータの受け渡しが完了です
    function getParam() {
    	return $this->param;
    }
    function setParam($param) {
    	$this->param = $param;
    }
  • templateでは
    名前:{action->getName|escape}
    メアド:{action->getEmail|escape}
    のように毎回action->getHogeを呼ぶのではなく
    {action->getParam assign=param}
    名前:{$param.name|escape}
    メアド:{$param.email|escape}
    先に変数に値をアサインしておいて、アサインされた変数の配列を個別に呼び出すことでテンプレートがスッキリします。上で書いたようにActionクラスでも特別に変数に詰め直す必要もありません。

InjectRequest使えばいいじゃん?

はい。その通りだと思います。個別にクラス作るのが苦痛じゃない方はinjectRecest使ってください。

実際の使用例(example1)

  • core/Request.class.phpを「配列対応core/Request.class.php(maple3.0.2版)」に入れ替えた上で上記ファイルをmaple/以下の適切なフォルダに移して試してください
  • maple.iniファイル内の;はコメントアウト記号です
  • templateファイル内の{*や*}はsmartyコメントアウト記号です

最新の20件

2017-09-25 2014-07-03 2009-06-06 2006-09-22 2006-01-05 2005-11-10 2005-11-04
  • 配列対応core/Request.class.php(maple3.0.2版)
2005-10-31 2005-10-07 2005-06-20 2005-06-19 2005-06-18 2005-06-16

  • counter: 2702
  • today: 1
  • yesterday: 1
  • online: 1


*1 実は従来のcore/Request.class.phpでも可能ですが、maple.iniで配列のConvert、Validateができないという意味では、ほぼ使えないに等しい