• 追加された行はこの色です。
  • 削除された行はこの色です。
**ページに記述されたとき [#nd692cf8]

RIGHT:[[:t/ページ]] [[:t/記法]] [[:t/要素]]

***Chain of Responsibilityで [#i0036ca7]
記法に分類されるものも含めてChain of Responsibility。

%%ページ内の全てのページ/要素を呼ぶことになるが、高速化のため特定のパラメーター1つをクエリーに含めるようにしておいて、それらを事前判定に使う。そこで見込みありと判定された機能を呼んで本判定をしてもらう。%%

→ページに記述された分だけなので対策不要。全て呼べばいい。


RIGHT:[[:t/UI]] [[:t/記法]] [[:t/Wiki]] [[:t/機能]] [[:t/要素]] [[:t/ページ]]


***トリガー指定 [#q65f12be]
-%%1ページごとに%%
-%%全ページ処理前に、処理後に%%
-%%特定モジュールの処理前に、処理後に%%

%%…など。%%

→トリガーはオブジェクト生成時、1ページ内全オブジェクト完成後。全要素全トリガーを使用。選択できない。何もしないことは可能。
ページの範囲を越えるトリガーはなし。複数ページを1つにして使いたいときは埋め込みで。

RIGHT:[[:t/UI]] [[:t/Wiki]] [[:t/要素]] [[:t/ページ]]
***実行順序 [#x2d22b29]
実行順序は記述位置による。ネストの浅いレベル→深いレベル→浅いレベル。


RIGHT:[[:t/UI]] [[:t/Wiki]] [[:t/要素]] [[:t/ページ]]

**ページではなくURLクエリーから呼ばれたとき [#wb76b868]

一時的なページを作って、そこに記述されているかのように処理。ページ上に記述されているときと処理統一。
RIGHT:[[:t/URI]]  [[:t/リクエスト]]
***%%実行順序%% [#pca346f2]
%%機能の実行順をURLクエリーに書かれている順ということにする。同じトリガーを使う機能が複数ある場合。%%

***実行順序 [#pca346f2]
機能の実行順をURLクエリーに書かれている順ということにする。
同じトリガーを使う機能が複数ある場合。
%%ページの要素ではないが、呼ばれるコードはページ/要素のもの。仮のページに記述されているようなもの。%%

ページの要素ではないが、呼ばれるコードはページ/要素のもの。
仮のページに記述されているようなもの。
RIGHT:%%[[:t/UI]] [[:t/Wiki]] [[:t/要素]] [[:t/URI]] [[:t/リクエスト]] [[:t/自動生成]]%%
***%%連鎖(Chain)%% [#vb979a6a]
%%ネストできない代わりにチェイン。一度に呼ばれた要素を全てネストしているかのようにつなぐ。引数と戻り値がつながる。%%

RIGHT:[[:t/UI]] [[:t/Wiki]] [[:t/要素]] [[:t/URI]] [[:t/リクエスト]] [[:t/自動生成]]
RIGHT:%%[[:t/UI]] [[:t/Wiki]] [[:t/要素]]%%
***%%データの改ざん%% [#k62ae6e0]
%%前の要素の出力は次の要素に入力される。クライアントからの入力も書き換え可能。次の要素には書き換え後が渡る。%%


***連鎖(Chain) [#vb979a6a]
ネストできない代わりにチェイン。一度に呼ばれた要素を全てネストしているかのようにつなぐ。
引数と戻り値がつながる。


RIGHT:[[:t/UI]] [[:t/Wiki]] [[:t/要素]]


***データの改ざん [#k62ae6e0]
前の要素の出力は次の要素に入力される。
クライアントからの入力も書き換え可能。次の要素には書き換え後が渡る。

問題は出力と入力のデータ型を統一すること。
%%問題は出力と入力のデータ型を統一すること。%%
%%文字列か、文字列の集約。HTMLで書かれたページの断片。%%
→データコンテキストで。仮のページを使うことで、ページに記述されたのと同じ処理の仕方になる。ページコンテキストも生じる。
RIGHT:[[:t/データコンテキスト]] 
RIGHT:%%[[:t/データコンテキスト]] [[:t/URI]] [[:t/リクエスト]] [[:t/自動生成]]%%


RIGHT:[[:t/データコンテキスト]] [[:t/URI]] [[:t/リクエスト]] [[:t/自動生成]]