JavaScript、Ajax、HTML5(API)、Ruby…Web及び関連技術の実験&情報公開&制作物紹介。

VarHandlerプラグイン

| トラックバック(1)

先日Six Apart - Movable Type プラグインディレクトリに登録されて初めて知ったのですが、Movable Type のプラグインを数多く開発されている藤本壱さん作で、「VarHandlerプラグイン」というプラグインが存在します。

基本コンセプトは、拙作 AutoIncrementalVar プラグインと同じく、「<$MTSetVar$>, <$MTGetVar$> の拡張」。

ということで、両プラグインを比較・検証してみました。

提供されるMTタグの比較

提供されるテンプレートタグに機能の重複はないので、それぞれの提供するテンプレートタグをまとめておきます。

VarHandler
テンプレートタグ機能・備考
<$MTAddVar$>, <$MTSubVar$>, <$MTMultVar$>, <$MTDivVar$>変数と定数、または変数と他の変数の間で加減乗除を行う変数タグ(出力無し)
<$MTConcatVar$>変数と定数、または変数どうしを文字列として連結する変数タグ(出力無し)
<$MTEqualVar$>変数に定数、または他の変数の値を代入(コピー)する変数タグ(出力無し)
<MTTagValueVar>変数にコンテナの内容を処理した結果を代入するコンテナタグ。
MT3.3x以降の<MTSetVarBlock>と機能的には全く同じ(MT3.2x以下で<MTSetVarBlock>の代わりに使用可能)
<MTIfNumVar>, <MTIfStrVar>変数の値と他の定数や変数の値とを比較する条件タグ。
<MTIfNumVar>は数値として、<MTIfStrVar>は文字列として比較します。
AutoIncrementalVar
テンプレートタグ機能・備考
<$MTSetVarAutoIncremental$>変数の初期値を設定する変数タグ(出力無し)
その変数に対して自動数え上げカウンターとしての初期設定も施す
<$MTGetVarWithIncrement$>変数値を出力する変数タグ
内部でカウンタ値を数え上げする
<$MTGetVarWithoutIncrement$>変数値を出力する変数タグ
内部でカウンタ値を数え上げしない
<$MTIncrementVar$>変数値を数え上げする変数タグ(出力無し)

機能比較

VarHandlerAutoIncrementalVar
自由な値で足し算・引き算ができる<$MTSetVarAutoIncremental$>の step 属性で指定した値で加算される。マイナスの値を指定すれば減算も可能
自由な値でかけ算・割り算ができる(カウンター機能に焦点を絞っているため、乗除算には非対応)
文字列連結ができる(カウンター機能に焦点を絞っているため、文字列演算には非対応)
他の変数値や、ブロックの処理結果を変数に代入できる(MT3.3x以降ならば、標準の<MTSetVarBlock>タグを使用することで実現可能)
変数値と他の値との比較をする条件タグを標準で提供(<MTIfNumVar>, <MTIfStrVar>)他の値との比較は、Compareプラグイン等を使用することで実現可能
カウンターとしても使用可能(<$MTAddVar name="○○" value="1"$>とし、<$MTGetVar name="○○"$>とすることで)カウンター機能に特化している(自動的に数え上げる <$MTGetVarWithIncrement$>, <$MTIncrementVar$> タグを用意)
(対応する機能無し)ダイナミック・パブリッシングに対応

その他 考察

正直、VarHandlerプラグインの存在を先に知っていたら、AutoIncrementalVarプラグインなんて公開しなかったかもしれません(汗)
だって、AutoIncrementalVarでできることは全てVarHandlerでできちゃいますし、それ以上のことができるわけですから。
謂わば、AutoIncrementalVarを互換性を保って汎用的にしたものが「VarHandlerプラグイン」になっていますから。
ただ、VarHandlerは現状、Perl版のみで、PHP版(=ダイナミック・パブリッシング対応版)は存在しないようなので、その点だけはAtoIncrementalVarも負けてないということになるでしょうか。
今度時間があったら、VarHandlerのダイナミック・パブリッシング対応版を自作してみようかな。

トラックバック(1)

あんちもん2.Lab - 数え上げや連番生成ができる! - AutoIncrementalVar (2007年1月15日 02:10)

MTSetVar/MTGetVar互換、数え上げ変数作成プラグインの紹介。 続きを読む

カテゴリ

月別 アーカイブ

OpenID対応しています OpenIDについて

このブログ記事について

このページは、あんちもん2が2007年1月15日 00:37に書いたブログ記事です。

ひとつ前のブログ記事は「<blockquote>要素で横スクロールバーを出す方法」です。

次のブログ記事は「CatSort ver.0.42 - MT3.2における不具合を修正」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。