Mediawiki 擴展標籤

出自六年制學程
於 2020年10月19日 (一) 11:14 由 丁志仁留言 | 貢獻 所做的修訂 →‎一、設定
跳至導覽 跳至搜尋

原理解說

一、設定

於 extension.json 中設定以下的勾子(hooks):

...
  "Hooks": {
    "ParserFirstCallInit": "ExampleExtension::onParserFirstCallInit"
   },
...

新增程式:

<?php
class ExampleExtension {
	// 註冊實體化回傳外掛
	public static function onParserFirstCallInit( Parser $parser ) {
		// 當解析器看到<sample>標記時,它會執行renderTagSample(見下文)
		$parser->setHook( 'sample', [ self::class, 'renderTagSample' ] );
	}

	// 實體化 <sample> 的函式定義
	public static function renderTagSample( $input, array $args, Parser $parser, PPFrame $frame ) {
		// 在本例中這個函數只是將用戶輸入中的轉義字符解析為原來的樣子並再次輸出它
		return htmlspecialchars( $input );
	}
}
...