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 );
	}
}
...