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部分を取り除く


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.011 sec.

SourceForge