<< Piece_Unityユーザーズマニュアル

ビューエレメント

ビューエレメントは、HTMLテンプレートやJSON, その他のレンダラによって解釈される、レンダラに依存しない抽象化されたテンプレート変数です。ビューエレメントを使う際に、ユーザは実際に使われるレンダラを意識する必要はありません。設定されたビューエレメントは、実際に使われるレンダラによって適切な形式に変換されます。このため、ビューエレメントはHTMLテンプレート内では単にテンプレート変数として表現されることになります。

ビューエレメントの設定

下記は、Piece_Examples_Basicsパッケージ1に含まれるサンプルアプリケーションから、ビューエレメントの設定部分とHTMLテンプレートからの参照部分を抜粋したものです。

<?php
...
    function doActivityOnDisplayConfirmation()
    {
        $flexyElement = &new Piece_Unity_Service_FlexyElement();
        $flexyElement->addForm($this->_flow->getView(), $this->_context->getScriptName());

        $viewElement = &$this->_context->getViewElement();
        $viewElement->setElementByRef('user', $this->_user);
        $viewElement->setElement('useAHAH', $this->_useAHAH);

        $this->_setTitle();
    }
...
<h4 class="date-header">{title}</h4>
<p>First Name: {user.firstName}</p>
<p>Last Name: {user.lastName}</p>
...

ビューエレメントを設定するには、最初にPiece_Unity_ViewElementオブジェクトをPiece_Unity_ContextオブジェクトからgetViewElement()経由で取得する必要があります。Piece_Unity_ViewElementオブジェクト取得後は、必要に応じてsetElement()/setElementByRef()をコールすることでビューエレメントを設定することができます。設定されたビューエレメントは、HTMLテンプレート内で通常のテンプレート変数として参照することができます。

ビルトインビューエレメント

Piece_Unityの実行環境は多くのビューエレメントを自動的に設定します。これらは、ビルトインビューエレメントと呼ばれています。ビルトインビューエレメントを適切に使うことで、HTMLテンプレートの抽象度を高め、アプリケーションのポータビリティを向上させることができます。下記はビルトインビューエレメントの一覧です。

名称 用途 設定元
__request Piece_Unity_Requestオブジェクト リクエストパラメータへのアクセス Viewプラグイン?
__session Piece_Unity_Sessionオブジェクト セッション変数へのアクセス Viewプラグイン?
__eventNameKey イベント名として認識されるリクエストパラメータの名称 Viewプラグイン?
__scriptName 現在のリクエストのスクリプト名 URLの抽象化 Viewプラグイン?
__basePath 現在のリクエストのスクリプトが存在するディレクトリの、ドキュメントツリーのトップからの相対URL URLの抽象化 Viewプラグイン?
__sessionName セッション名 セッションIDの埋め込み Viewプラグイン?
__sessionID セッションID セッションIDの埋め込み Viewプラグイン?
__appRootPath Webから見えるアプリケーションの、ドキュメントツリーのトップからの相対URL URLの抽象化 Viewプラグイン?
__url Piece_Unity_URLオブジェクト 適切なURLの生成 Viewプラグイン?
__flowExecutionTicket フロー実行チケット Dispatcher_ContinuationPluginプラグイン
__continuation Piece_Flow_Continuationオブジェクト フロー変数へのアクセス Dispatcher_ContinuationPluginプラグイン
__flowExecutionTicketKey フロー実行チケットとして認識されるリクエストパラメータの名称 Dispatcher_ContinuationPluginプラグイン
__flowNameKey フロー名として認識されるリクエストパラメータの名称 Dispatcher_ContinuationPluginプラグイン
__content HTMLコンテンツ レイアウトシステムの使用 Renderer_HTMLPluginプラグイン?

上記の他にも、バリデーションの結果を保持するPiece_Right_ResultsオブジェクトがPiece_Unity_Validationクラスによって設定されます。また、この一覧にはPiece_Unityコンポーネントが設定するビューエレメントは含まれていないことに注意してください。


<< Piece_Unityユーザーズマニュアル