Web Collaboration by PukiWiki-chapter7 プラグインの仕組みと開発の基本
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
//[[Web Collaboration by PukiWiki]]
*chapter7 プラグインの仕組みと開発の基本 [#i740cf92]
#access();
//**7-1 プラグインについて [#r751e7a0]
//**7-2 自作プラグイン [#k397f3f9]
//**7-3 プラグインの開発 [#i99c7922]
//**7-4 プラグイン作成にあたって [#g8719660]
**プラグイン作成の基本 [#t37ce155]
#contents();
***プラグインの役割 [#n0bc732a]
多くのプラグインを使用することで、pukiwikiを文書作成ツー...
より手軽に表現できたり、より便利な使い方が可能になります。
pukiwikiには、標準配布パッケージに80個ほどのプラグインが...
プラグインには書式としてページ内に記述して活用できるもの...
そのため80個のプラグインすべてを、ユーザーが直接意識的に...
多数のプラグインがどのような動きをするのかを知っておくと...
//
***プラグインの型 [#j1fb6fcb]
pukiwikiプラグインには、3種類の型があります。まず大きく分...
URLとして呼び出すタイプ(コマンド型)の2種類に分かれます。
また、書式として使用するタイプの中には段落として取り扱う...
コマンド型の多くの場合、pukiwikiが動作する際に内部的に使...
|タイプ|内容|使用方法|
|コマンド型|URLかあ呼び出すタイプ|URL内のcmd=またはplugin...
|ブロック型|書式で段落として取り扱われるタイプ|行頭で#か...
|インライン型|書式で行中に記入できるタイプ|行頭・行中で&...
**プラグインスクリプトファイルの作成 [#l57f4592]
例えば、「test」という名前のプラグインを作成するならば、...
ファイルは、適当な文字コード(通常はEUC)で保存する。
***インラインプラグインの作成 [#j6ae2f5d]
インラインプラグイン(「&test();」と書いて使用するもの)...
testプラグインでは、「plugin_test_inline」となる。
この関数では、表示する文字列を返すようにする。例えば、「...
<?php
function plugin_test_inline()
{
return 'こんにちは';
}
?>
■プラグイン実行結果 [#d4a50ab1]
&test();
ここで返す文字列はそのまま出力されるので、注意が必要(つ...
そのまま出力するのが危険な場合は、htmlspecialchars関数な...
***ブロックプラグインの作成 [#w37ee5a7]
ブロックプラグイン(「#test()」と一行に書いて使用するもの...
testプラグインでは、「plugin_test_convert」となる。
この関数では、表示する文字列を返すようにする。例えば、「#...
<?php
function plugin_test1_convert()
{
return 'こんにちは';
}
?>
■プラグイン実行結果 [#d4a50ab1]
#test1();
**コマンドプラグインの作成 [#kb712c8e]
コマンドプラグイン(「./?plugin=test」のようなURLを呼び出...
testプラグインでは、「plugin_test_action」となる。
この関数では、ページのタイトルとページの内容が格納された...
例えば、「./?plugin=test」でタイトルが「テスト」で、内容...
<?php
function plugin_test_action()
{
return array('msg'=>'テスト', 'body'=>'こんにちは');
}
?>
■プラグイン実行結果 [#d4a50ab1]
[[http://www.kisnet.or.jp/~kanou/index.php?plugin=test2:h...
**指定されたパラメータを取得する [#e471ff83]
インラインやブロック型プラグインを呼び出す時に指定された...
<?php
function plugin_test3_convert()
{
//パラメータの数の確認
if (func_num_args() < 1)
return 'パラメータの数が不正です。';
//パラメータの取得
$args = func_get_args();
//はじめのパラメータを表示
return htmlspecialchars($args[0]);
}
?>
■プラグイン実行結果 [#d4a50ab1]
#test3(1);
#test3(0);
***インラインプラグインの最後のパラメータについて [#v4103...
インラインプラグインの「{}」で囲まれた最後のパラメータは...
この最後のパラメータは、指定されていなくてもfunc_get_args...
<?php
function plugin_test_inline()
{
//パラメータの取得
$args = func_get_args();
//{}で指定されたパラメータを取得
$lastparam = array_pop($args);
return $lastparam;
}
?>
//
***自作する前に探してみよう [#e9d57a7e]
自作プラグインを作る前に、希望する機能を持つプラグインが...
pukiwkiには公式サイトで自作プラグインとして紹介されている...
インターネット上のプラグイン作者が直接提供しているものも...
検索エンジンを活用して探してみることをおすすめします。
また、既存のプラグインに望む機能が既に実装されていないか...
プラグインの機能をあまり把握してなくて、実はできるのに知...
標準プラグインであれば配布パッケージに含まれるプラグイン...
//
***自作プラグインは公開しよう [#ica84643]
自作プラグインか完成してある程度機能することが確認できた...
公開するときに公式サイトの自作プラグインページに登録する...
ここでは多くのユーザーの目に触れることになり、より多くの...
また、プラグインに不具合が含まれてるいのに気づかない場合...
作成したプラグインの感想をもらいことは、今後の開発の励み...
//
7-4プラグイン作成にあたって
プラグインを作成しようとしたときき、何も資料がない状態か...
pukiwikiの配布パッケージにはプラグイン作成について取りま...
また、開発サイトにも参考になるページもありますが、プラグ...
しかし、pukiwikiのプラグイン開発にあたって最高の資料とし...
実際に動くソースコードに勝る最高の資料はないでしょう。
自作プラグインを開発する際に自分が望む作りたいプラグイン...
終了行:
//[[Web Collaboration by PukiWiki]]
*chapter7 プラグインの仕組みと開発の基本 [#i740cf92]
#access();
//**7-1 プラグインについて [#r751e7a0]
//**7-2 自作プラグイン [#k397f3f9]
//**7-3 プラグインの開発 [#i99c7922]
//**7-4 プラグイン作成にあたって [#g8719660]
**プラグイン作成の基本 [#t37ce155]
#contents();
***プラグインの役割 [#n0bc732a]
多くのプラグインを使用することで、pukiwikiを文書作成ツー...
より手軽に表現できたり、より便利な使い方が可能になります。
pukiwikiには、標準配布パッケージに80個ほどのプラグインが...
プラグインには書式としてページ内に記述して活用できるもの...
そのため80個のプラグインすべてを、ユーザーが直接意識的に...
多数のプラグインがどのような動きをするのかを知っておくと...
//
***プラグインの型 [#j1fb6fcb]
pukiwikiプラグインには、3種類の型があります。まず大きく分...
URLとして呼び出すタイプ(コマンド型)の2種類に分かれます。
また、書式として使用するタイプの中には段落として取り扱う...
コマンド型の多くの場合、pukiwikiが動作する際に内部的に使...
|タイプ|内容|使用方法|
|コマンド型|URLかあ呼び出すタイプ|URL内のcmd=またはplugin...
|ブロック型|書式で段落として取り扱われるタイプ|行頭で#か...
|インライン型|書式で行中に記入できるタイプ|行頭・行中で&...
**プラグインスクリプトファイルの作成 [#l57f4592]
例えば、「test」という名前のプラグインを作成するならば、...
ファイルは、適当な文字コード(通常はEUC)で保存する。
***インラインプラグインの作成 [#j6ae2f5d]
インラインプラグイン(「&test();」と書いて使用するもの)...
testプラグインでは、「plugin_test_inline」となる。
この関数では、表示する文字列を返すようにする。例えば、「...
<?php
function plugin_test_inline()
{
return 'こんにちは';
}
?>
■プラグイン実行結果 [#d4a50ab1]
&test();
ここで返す文字列はそのまま出力されるので、注意が必要(つ...
そのまま出力するのが危険な場合は、htmlspecialchars関数な...
***ブロックプラグインの作成 [#w37ee5a7]
ブロックプラグイン(「#test()」と一行に書いて使用するもの...
testプラグインでは、「plugin_test_convert」となる。
この関数では、表示する文字列を返すようにする。例えば、「#...
<?php
function plugin_test1_convert()
{
return 'こんにちは';
}
?>
■プラグイン実行結果 [#d4a50ab1]
#test1();
**コマンドプラグインの作成 [#kb712c8e]
コマンドプラグイン(「./?plugin=test」のようなURLを呼び出...
testプラグインでは、「plugin_test_action」となる。
この関数では、ページのタイトルとページの内容が格納された...
例えば、「./?plugin=test」でタイトルが「テスト」で、内容...
<?php
function plugin_test_action()
{
return array('msg'=>'テスト', 'body'=>'こんにちは');
}
?>
■プラグイン実行結果 [#d4a50ab1]
[[http://www.kisnet.or.jp/~kanou/index.php?plugin=test2:h...
**指定されたパラメータを取得する [#e471ff83]
インラインやブロック型プラグインを呼び出す時に指定された...
<?php
function plugin_test3_convert()
{
//パラメータの数の確認
if (func_num_args() < 1)
return 'パラメータの数が不正です。';
//パラメータの取得
$args = func_get_args();
//はじめのパラメータを表示
return htmlspecialchars($args[0]);
}
?>
■プラグイン実行結果 [#d4a50ab1]
#test3(1);
#test3(0);
***インラインプラグインの最後のパラメータについて [#v4103...
インラインプラグインの「{}」で囲まれた最後のパラメータは...
この最後のパラメータは、指定されていなくてもfunc_get_args...
<?php
function plugin_test_inline()
{
//パラメータの取得
$args = func_get_args();
//{}で指定されたパラメータを取得
$lastparam = array_pop($args);
return $lastparam;
}
?>
//
***自作する前に探してみよう [#e9d57a7e]
自作プラグインを作る前に、希望する機能を持つプラグインが...
pukiwkiには公式サイトで自作プラグインとして紹介されている...
インターネット上のプラグイン作者が直接提供しているものも...
検索エンジンを活用して探してみることをおすすめします。
また、既存のプラグインに望む機能が既に実装されていないか...
プラグインの機能をあまり把握してなくて、実はできるのに知...
標準プラグインであれば配布パッケージに含まれるプラグイン...
//
***自作プラグインは公開しよう [#ica84643]
自作プラグインか完成してある程度機能することが確認できた...
公開するときに公式サイトの自作プラグインページに登録する...
ここでは多くのユーザーの目に触れることになり、より多くの...
また、プラグインに不具合が含まれてるいのに気づかない場合...
作成したプラグインの感想をもらいことは、今後の開発の励み...
//
7-4プラグイン作成にあたって
プラグインを作成しようとしたときき、何も資料がない状態か...
pukiwikiの配布パッケージにはプラグイン作成について取りま...
また、開発サイトにも参考になるページもありますが、プラグ...
しかし、pukiwikiのプラグイン開発にあたって最高の資料とし...
実際に動くソースコードに勝る最高の資料はないでしょう。
自作プラグインを開発する際に自分が望む作りたいプラグイン...
ページ名: