プラグイン/開発者向け
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
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の仕様>PukiWiki/Plug-inの仕様#q1f6de34]]
***プラグインファイル名 [#q14eace5]
-[[PukiWiki/Plug-inの仕様>PukiWiki/Plug-inの仕様#k4a8a55f]]
***関数名 [#zfd2c104]
-[[PukiWiki/Plug-inの仕様>PukiWiki/Plug-inの仕様#z3423080]]
***定数名 [#lb1c6171]
-[[BugTrack2/29>BugTrack2/29#zd28eeb6]]
**&aname(changes);1.3から1.4で変更されている箇所 [#zc1e39...
***UTIME [#l5b11d6b]
1.3までは、UTIMEは、ローカルタイムを示していたが、1.4では...
UTIMEを利用しているプラグインは、注意して下さい。
-[[BugTrack/169]]
-[[BugTrack2/76]]
***インラインプラグイン [#s0ec5068]
-[[PukiWiki/1.4/InlinePlugin]]
-[[PukiWiki/Plug-inの仕様]]
** 推奨事項など [#k07763bb]
- PukiWiki/Plug-inの仕様
-- [[GET, POST メソッドの入出力パラメータ名に関する制限>P...
-- [[内部で予約しているグローバル変数など>PukiWiki/Plug-i...
-- [[PukiWiki本体の重要な定義など>PukiWiki/Plug-inの仕様#]]
*** 主な内部関数 [#v4d76a2e]
とりあえず、使ったときに調べたものから。~
1.4 系メインに書き直しました。
-詳細: [[PukiWiki/関数一覧表]]
:lib/auth.php|
-- pkwk_login($pass)
--- 入力文字列$pass が$adminpass と一致するかをチェック(...
-- check_editable($page)
--- ページ名$page の編集認証をチェック(1.4 系, 1.5 系)
-- check_readable($page)
--- ページ名$page の閲覧認証をチェック(1.4 系, 1.5 系)
-- get_auth_user()
--- ログイン中のユーザー名を得る(1.5.1 以降) → [[BugTra...
:lib/convert_html.php|
-- convert_html($lines)
--- 1行を1つの要素とする配列$lines をPukiWiki 形式からHTM...
-- convert_html($string)
--- 文字列$string をPukiWiki 形式からHTML に変換する(1.3...
:lib/file.php|
-- get_source($page)
--- ページの内容をソース状態で取得(1.3 系, 1.4 系, 1.5 ...
-- page_write($page, $postdata)
--- ページ名$page のソースを文字列$postdata で更新、同時...
--- 必ず事前にis_pagename() で不正なページ名でないかを確...
:lib/func.php|
-- is_pagename($str)
--- 文字列$str が有効なページ名であるかどうか(1.3 系, 1....
-- is_page($page)
--- ページ名$page が存在するかどうか(1.3 系, 1.4 系, 1.5...
--- $page が有効なページ名であるかどうかのチェックは、別...
-- is_editable($page)
--- ページ名$page が編集可能かどうかを、「ページ名が有効...
--- 1.4 系ではページが凍結されているかも判定条件に追加さ...
-- strip_bracket($str)
--- ''[[ページ名]]'' からBracket部分...
-- htmlsc($string, $flags, $charset)
--- 変換に用いるデフォルトの文字コードがUTF-8やdefault_ch...
--- GREPによる検索・置き換えで簡単に互換動作できるよう、h...
--- 将来のバージョンでデフォルト動作が変更となっても問題...
:lib/make_link.php|
-- make_link($string, $page = '')
--- 文字列$string から[[PukiWiki のインライン要素>Formatt...
--- $page には相対リンクの基準となるページ名を指定(省略...
-- make_pagelink($page)
--- ページ名$page へのリンクを作成(1.4 系, 1.5 系)
--- 事前にis_pagename() で不正なページ名でないかを確認し...
-- get_fullname($name, $refer)
--- ページ名$name が相対参照であった場合、基準ページ$refe...
:lib/html.php|
-- strip_htmltag($str)
--- 文字列$str から全てのHTML タグを消去します(1.3 系, 1...
--- 過去に無効化できるバグがあった経緯から、PukiWikiのコ...
:lib/plugin.php|
-- exist_plugin($name)
--- プラグイン名$name 用のファイルが存在すればrequire_onc...
--- 1.4.6 以降require 回数制限チェックあり。&br;自作プラ...
**補足情報 [#n0c3f832]
-[[BugTrack2/213>BugTrack2/213#hb0abc89]] グローバル変数 ...
-- リダイレクトする場合は絶対パスである事が必須なので、必...
-ファイル所有者の自動修正を行う関数が、PukiWiki の標準関...
--[[BugTrack2/55]]
**過去の情報 [#hd338007]
***関数名・グローバル変数名(案) [#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() */ }
こうしておけば名前空間が独立するので、本体とのしがらみを...
***リンク集 [#za754bcb]
- PHPXref - クロスリファレンスドキュメントの自動生成
-- http://www.pat.hi-ho.ne.jp/dimension/tips/tips_ph...
終了行:
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の仕様>PukiWiki/Plug-inの仕様#q1f6de34]]
***プラグインファイル名 [#q14eace5]
-[[PukiWiki/Plug-inの仕様>PukiWiki/Plug-inの仕様#k4a8a55f]]
***関数名 [#zfd2c104]
-[[PukiWiki/Plug-inの仕様>PukiWiki/Plug-inの仕様#z3423080]]
***定数名 [#lb1c6171]
-[[BugTrack2/29>BugTrack2/29#zd28eeb6]]
**&aname(changes);1.3から1.4で変更されている箇所 [#zc1e39...
***UTIME [#l5b11d6b]
1.3までは、UTIMEは、ローカルタイムを示していたが、1.4では...
UTIMEを利用しているプラグインは、注意して下さい。
-[[BugTrack/169]]
-[[BugTrack2/76]]
***インラインプラグイン [#s0ec5068]
-[[PukiWiki/1.4/InlinePlugin]]
-[[PukiWiki/Plug-inの仕様]]
** 推奨事項など [#k07763bb]
- PukiWiki/Plug-inの仕様
-- [[GET, POST メソッドの入出力パラメータ名に関する制限>P...
-- [[内部で予約しているグローバル変数など>PukiWiki/Plug-i...
-- [[PukiWiki本体の重要な定義など>PukiWiki/Plug-inの仕様#]]
*** 主な内部関数 [#v4d76a2e]
とりあえず、使ったときに調べたものから。~
1.4 系メインに書き直しました。
-詳細: [[PukiWiki/関数一覧表]]
:lib/auth.php|
-- pkwk_login($pass)
--- 入力文字列$pass が$adminpass と一致するかをチェック(...
-- check_editable($page)
--- ページ名$page の編集認証をチェック(1.4 系, 1.5 系)
-- check_readable($page)
--- ページ名$page の閲覧認証をチェック(1.4 系, 1.5 系)
-- get_auth_user()
--- ログイン中のユーザー名を得る(1.5.1 以降) → [[BugTra...
:lib/convert_html.php|
-- convert_html($lines)
--- 1行を1つの要素とする配列$lines をPukiWiki 形式からHTM...
-- convert_html($string)
--- 文字列$string をPukiWiki 形式からHTML に変換する(1.3...
:lib/file.php|
-- get_source($page)
--- ページの内容をソース状態で取得(1.3 系, 1.4 系, 1.5 ...
-- page_write($page, $postdata)
--- ページ名$page のソースを文字列$postdata で更新、同時...
--- 必ず事前にis_pagename() で不正なページ名でないかを確...
:lib/func.php|
-- is_pagename($str)
--- 文字列$str が有効なページ名であるかどうか(1.3 系, 1....
-- is_page($page)
--- ページ名$page が存在するかどうか(1.3 系, 1.4 系, 1.5...
--- $page が有効なページ名であるかどうかのチェックは、別...
-- is_editable($page)
--- ページ名$page が編集可能かどうかを、「ページ名が有効...
--- 1.4 系ではページが凍結されているかも判定条件に追加さ...
-- strip_bracket($str)
--- ''[[ページ名]]'' からBracket部分...
-- htmlsc($string, $flags, $charset)
--- 変換に用いるデフォルトの文字コードがUTF-8やdefault_ch...
--- GREPによる検索・置き換えで簡単に互換動作できるよう、h...
--- 将来のバージョンでデフォルト動作が変更となっても問題...
:lib/make_link.php|
-- make_link($string, $page = '')
--- 文字列$string から[[PukiWiki のインライン要素>Formatt...
--- $page には相対リンクの基準となるページ名を指定(省略...
-- make_pagelink($page)
--- ページ名$page へのリンクを作成(1.4 系, 1.5 系)
--- 事前にis_pagename() で不正なページ名でないかを確認し...
-- get_fullname($name, $refer)
--- ページ名$name が相対参照であった場合、基準ページ$refe...
:lib/html.php|
-- strip_htmltag($str)
--- 文字列$str から全てのHTML タグを消去します(1.3 系, 1...
--- 過去に無効化できるバグがあった経緯から、PukiWikiのコ...
:lib/plugin.php|
-- exist_plugin($name)
--- プラグイン名$name 用のファイルが存在すればrequire_onc...
--- 1.4.6 以降require 回数制限チェックあり。&br;自作プラ...
**補足情報 [#n0c3f832]
-[[BugTrack2/213>BugTrack2/213#hb0abc89]] グローバル変数 ...
-- リダイレクトする場合は絶対パスである事が必須なので、必...
-ファイル所有者の自動修正を行う関数が、PukiWiki の標準関...
--[[BugTrack2/55]]
**過去の情報 [#hd338007]
***関数名・グローバル変数名(案) [#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() */ }
こうしておけば名前空間が独立するので、本体とのしがらみを...
***リンク集 [#za754bcb]
- PHPXref - クロスリファレンスドキュメントの自動生成
-- http://www.pat.hi-ho.ne.jp/dimension/tips/tips_ph...
ページ名: