Manual:$wgExtensionFunctions

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgExtensionFunctions and the translation is 100% complete.

Other languages:
English • ‎español • ‎magyar • ‎русский • ‎日本語
拡張機能: $wgExtensionFunctions
MediaWikiが完全に初期化された時点で呼び出される、コールバック関数の一覧
導入されたバージョン:1.3.0 (r3583)
除去されたバージョン:使用中
許容される値:未指定
既定値:[]
その他の設定: アルファベット順 | 機能順

詳細

一般論として、この機能の使用はハック (巧妙な改造) であり、MediaWikiコアか拡張機能か、どこかで何かがうまく処理できていないことを示唆しています。そのような事態は避けるべきです。

この変数は、MediaWikiの初期化がほぼ完了した時点で呼び出される関数を格納する配列です。 ただし、この時点でまだ完全に設定されていないはRequestContext(あるいは$wgUser $wgTitle などの同等のグローバル関数)を使用しようとすると、思いがけない不調を引き起こす可能性があります。 RequestContextを使用する必要がある場合には、代わりにBeforeInitialize フックやApiBeforeMain フックの使用を検討してください。

あるいはまた、この時点ですでに特定の設定変数が処理済みの可能性があり、それらを変更するリスクにご留意ください。 構成で拡張機能の登録 を利用する場合は、コールバック関数のほうが設定変更に向いています。 その他の拡張機能であれば、おそらくSetupAfterCache がもっとも適していると考えられます。

この変数はグローバル関数を使ったり、オートロードされたクラスをインスタンス化するなど、高度な処理を行う拡張機能設定コードの、初期化の最終段階で使うべきです。 通常、各拡張機能ごとにセットアップ機能が1対1で関連付けられています。 関連する配列要素は通常、call_user_func() PHP関数と互換性のある形式の文(ステートメント)を使用し、拡張ファイル内で定義されています。

$wgExtensionFunctions[] = "functionName";
$wgExtensionFunctions[] = array( $classInstance, 'functionName' );
$wgExtensionFunctions[] = array( 'ClassName', 'staticFunctionName' );
$wgExtensionFunctions[] = 'ClassName::staticFunctionName';

セットアップ関数はそれぞれ、/includes/Setup.php から呼び出されます。

たとえば、ご利用の拡張機能が初期化においてデータベースへのアクセスが必要な場合の処理法:

function initMyExtension() {
      $dbr = wfGetDB( DB_REPLICA );
      $myExtension = new MyExtension();
      $myExtension->loadSettingsFromDatabase( $dbr );
}


関連項目