「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
ダイナミック・パブリッシング&DynamicMTML用のプラグイン(ファンクションタグ)のひな形(その1)
Movable Typeのダイナミック・パブリッシングでは、PHPのテンプレートエンジンである「Smarty」を使って、テンプレートタグを処理します。
したがって、ダイナミック・パブリッシング用にテンプレートタグを追加するプラグインを作る場合、Smartyの書き方に沿ったPHPのコードを組みます。
また、DynamicMTMLはダイナミック・パブリッシングの応用です。
したがって、ダイナミック・パブリッシング用にプラグインを作れば、DynamicMTMLでも動作します。
そこで、ダイナミック・パブリッシング&DynamicMTML用に、ファンクションタグを追加するプラグインのひな形を紹介します。
今日はその前半です。
1.ファイル構成
ダイナミック・パブリッシング&DynamicMTML用のプラグインは、以下のようなファイル構成になります。
└ plugins └ プラグイン名のディレクトリ │ config.yamlファイル ├ libディレクトリ │ └ スタティック・パブリッシング用のプラグインのコード └ phpディレクトリ └ ダイナミック・パブリッシング&DynamicMTML用のプラグインのコード
config.yamlファイルには、プラグインの名前や、追加するテンプレートタグの情報を入れます。
libディレクトリには、スタティック・パブリッシング用に、Perlのプラグインのコードを入れます。
そして、phpディレクトリに、ダイナミック・パブリッシング&DynamicMTML用のPHPのプラグインのコードを入れます。
2.config.yamlファイルの内容
最低限のconfig.yamlファイルの内容は、以下のようになります。
name: プラグインの名前 id: プラグインのID author_name: プラグインの作者名 description: プラグインの概要 version: バージョン番号 tags: function: テンプレートタグ名: $プラグインのID::モジュール名::サブルーチン名
各行の内容は以下の通りです。
プラグインの名前 | Movable Typeのプラグイン一覧に表示するプラグイン名を指定します。 |
---|---|
プラグインのID | プラグインのIDを半角英数字で決めて指定します。 |
プラグインの作者名 | 自分の名前を入れます。 |
プラグインの概要 | プラグインの大まかな内容を入れます。 |
バージョン番号 | プラグインのバージョン番号を入れます。 |
テンプレートタグ名 | ファンクションタグの名前を自分で決めて、先頭の「MT」を除いた部分を指定します。 |
モジュール名とサブルーチン名 | Perl用のプラグインのコードがあるモジュール名とサブルーチン名を指定します。 |
3.config.yamlファイルの事例
例えば、以下のようなプラグインを作りたいとします。
- 「MTHelloMTWorld」というファンクションタグを追加します。
- プラグイン名を「Hello MT World」にします。
- プラグインのIDを「HelloMTWorld」にします。
- Perl用のプラグインのコードを、「HelloMTWorld::Plugin」というモジュールに入れます。
- テンプレートタグの処理を行うサブルーチンに、「hello_mt_world」という名前を付けます。
この場合、config.yamlファイルの内容は以下のようになります。
name: Hello MT World id: HelloMTWorld author_name: Hajime Fujimoto author_link: http://www.h-fj.com/blog/ description: Adds MTHelloMTWorld tag. version: 1.00 tags: function: HelloMTWorld: $HelloMTWorld::HelloMTWorld::Plugin::hello_mt_world