- 追加された行はこの色です。
- 削除された行はこの色です。
RIGHT:&size(12){Category:[[:Plugin]] [[:CategoryDev]]};
*プラグイン開発者向け [#v936221e]
>プラグインを開発してみようと思う方へのページです。(まだ目次にしかなっていません^_^;)
-[[PukiWiki/Plug-inの仕様]]
-[[PukiWiki/1.4/プラグイン開発を便利に]]
-[[PukiWiki/1.4/Proxy]]
**各種命名規則 [#n5c6aa2f]
***プラグイン名 [#a8535462]
-[[PukiWiki/Plug-inの仕様]]
***プラグインファイル名 [#q14eace5]
-[[PukiWiki/Plug-inの仕様]]
***関数名・グローバル変数名(案) [#k017d75b]
プラグインは、PukiWiki 配下で稼動するため、本体に影響を及ぼさないために、
関数名およびグローバル変数名の命名には、注意が必要となる。
プラグイン内で利用するプライベート関数であっても、プラグインを開発する
際には、無用な混乱や、今後の本体開発・プラグイン開発の負荷を軽減する上でも、
これら命名には、プラグイン名をプレフィックスとして付加することを推奨する。
1つの PHP のシステムとしては、命名規則を明確に定めないと、これら名前においては、
コンフリクトし、稼動しないこととなる。
-非互換ついでに、PukiWiki/1.4でプラグインをクラス化してしまおうかと考えています。
class Plugin_xxx {
var $... /* define()していた定数やその他の変数など */
function Plugin_xxx() { /* plugin_xxx_init() */ }
function action() { /* plugin_xxx_action() */ }
function convert() { /* plugin_xxx_convert() */ }
function inline() { /* plugin_xxx_inline() */ }
こうしておけば名前空間が独立するので、本体とのしがらみを多少軽減できるかな、と。 -- [[ぱんだ]] SIZE(10){2003-02-24 (月) 18:39:59}
**リンク集 [#za754bcb]
-[http://www.pat.hi-ho.ne.jp/dimension/tips/tips_phpxref.shtml PHPXref - クロスリファレンスドキュメントの自動生成]
**&aname(changes);1.3から1.4で変更されている箇所 [#zc1e39f5]
***UTIME [#l5b11d6b]
1.3までは、UTIMEは、ローカルタイムを示していたが、1.4では、UTCとなっている。
UTIMEを利用しているプラグインは、注意して下さい。
-[[BugTrack/169]]
***インラインプラグイン [#s0ec5068]
-[[PukiWiki/1.4/InlinePlugin]]
-[[PukiWiki/Plug-inの仕様]]
*** Plugin開発者向け、主な内部関数 [#v4d76a2e]
とりあえず、使ったときに調べたものから。
- get_source($page)
-- ページの内容をソース状態で取得
- is_editable($page)
-- ページが編集可能かどうか
- is_page($page,$reload=FALSE)
-- ページが存在するかどうか。$page がページ名かどうかのチェックはなさげ。
- is_pagename($str)
-- 文字列がページ名かどうか
- make_pagelink($page,$alias='',$anchor='',$refer='')
-- ページへのリンクを作成
- strip_bracket($str)
-- [[ や ]] で囲まれたページ名から、Bracket部分を取り除く