RIGHT:&size(12){Category:[[:Plugin]] [[:CategoryDev]]};
*プラグイン開発者向け [#v936221e]
>プラグインを開発してみようと思う方へのページです。(まだ目次にしかなっていません^_^;)

-----
#contents
-----
**関連 [#gc343d2e]
-[[PukiWiki/技術資料]]
--[[PukiWiki/Plug-inの仕様]]
--[[PukiWiki/CSSのclass一覧]]
--[[PukiWiki/関数一覧表]]

-[[PukiWiki/1.4/プラグイン開発を便利に]]
-[[PukiWiki/1.4/Proxy]]
-[[BugTrack/779]] : (PHPのコードの)クリンナップのまとめ


**各種命名規則 [#n5c6aa2f]
***プラグイン名 [#a8535462]
-[[PukiWiki/Plug-inの仕様]]

***プラグインファイル名 [#q14eace5]
-[[PukiWiki/Plug-inの仕様]]

***関数名 [#zfd2c104]
-[[PukiWiki/Plug-inの仕様]]

***定数名 [#lb1c6171]
-[[BugTrack2/29#zd28eeb6]]

***関数名・グローバル変数名(案) [#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]]
-[[BugTrack2/76]]
***インラインプラグイン [#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部分を取り除く
- exist_plugin(plugin-name)
-- pluginが存在すればrequire_once。require回数制限チェックあり。&br;自作プラグイン等から既存のプラグインをrequire_onceやinclude_onceしているものがちょくちょくあるが、代わりにこのexist_pluginを使うべきか。&br;(関連話題: [[BugTrack2/116]])

-詳細: [[PukiWiki/関数一覧表]]

**補足情報 [#n0c3f832]
-[[BugTrack2/213>BugTrack2/213#hb0abc89]] グローバル変数 $scriptは参照せず、get_script_uri() を使用することを推奨

-ファイル所有者の自動修正について
--[[BugTrack2/55]]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新の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.034 sec.

SourceForge