PHPUtilプラグイン(その1・概要とインストール)

Movable Typeのテンプレート内でPHPを使いやすくするために、「PHPUtil」というプラグインを作りました。
今日は、プラグインの概要と、インストール手順を解説します。

2012年2月1日 23時40分
不具合が見つかったので、修正してアップロードしなおしました。
上記日時までにダウンロードした方は、お手数ですがダウンロードしなおしてください。

1.はじめに

Movable Typeでは、テンプレートの中にPHP等のコードを入れることもできます。
例えば、テンプレート内に以下のようなコードを入れて、かつページがPHPとして処理されるようにすれば(拡張子を.phpにするなど)、その位置に現在の日時が出力されます。

<?php echo date('Y/m/d H:i:s'); ?>

ただ、1つのテンプレートの中に、Movable TypeのテンプレートタグとPHPのコードとを混在させると、テンプレートがあまり読みやすくありません。
PHPUtilプラグインを使うと、この点を改善することができます。
Movable Typeのテンプレートタグの書き方で、PHPの基本的なコードを出力することができます。
前述の例だと、以下のように書き換えます。

<$mt:PHPFunction name="date" params="Y/m/d H:i:s"$>

2.PHPUtilプラグインの機能

PHPUtilプラグインは、以下のような処理を、Movable TypeのテンプレートタグからPHPのコードに変換します。

  • 変数の代入と出力(配列/ハッシュも含む)
  • 条件判断
  • 繰り返し
  • 日時関係の処理(表示と条件判断)
  • 他のファイルの組み込み
  • 関数の実行
  • ユーザーエージェント判断(この機能のみDynamicMTMLのライブラリを流用)

複雑な処理を書くのには向いていませんが、基本的なPHPのコードなら、PHPUtilプラグインのテンプレートタグで出力することができます。
テンプレートの中に、部分的に動的な処理を入れたいような場合に使うと良いでしょう。

また、テンプレートタグの書き方は、Movable Typeで同様の処理を行うテンプレートタグに極力合わせるようにしています。
例えば、変数に値を代入する処理は、「MTPHPSetVar」というテンプレートタグで行います。

3.インストール

PHPUtilプラグインは、以下からダウンロードします。

PHPUtil_1_00b1.zip

ダウンロードしたファイルを回答すると、「plugins」というフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

なお、PHPUtilプラグインは、「静的テンプレートで設定した変数をDynamicMTMLで参照するプラグイン(DMSetVar)」を拡張して作っていますので、DMSetVarプラグインの機能を含んでいます。
DMSetVarプラグインをインストールしている方は、Movable Typeの「plugins」ディレクトリから、「DMSetVar」ディレクトリを削除してください。

4.PHPUtilプラグイン関係の記事の一覧

PHPUtil関係のその他の記事は、以下のリンクから参照できます。