1

問題

メディアウィキ拡張機能内からhttpヘッダーを調べたいと思います。具体的には、ヘッダーの1つが存在する場合、アクションを実行します。

バックグラウンド

私はphpとmediawikiの初心者です。私はmediawikiで2番目の拡張機能に取り組んでいます。特定のhttpヘッダーがページリクエストの一部である場合、特定のアクションを実行したいと思います。フックが正しいタイミングで呼び出されていると確信していますが、残念ながらhttpヘッダーを取得できないようです。

$extensionObject = new MyExtension;
$wgHooks['ArticlePageDataBefore'][] = array($extensionObject, 'onArticlePageDataBefore');

class MyExtension{
    public function onArticlePageDataBefore( &$article, &$fields ) {
        $headers =mygetallheaders();
        ...do something with the headers
        return true;
    }
    public function mygetallheaders()   {
        ...this is the function I am trying to write
        return $headers;
    }

ソフトウェアスタック

  • MediaWiki:1.20.2
  • PHP:5.3.3(apache2handler)
  • MySQL:5.1.61

これまでに試しました。

次の2つのメソッドは、どちらも空の配列を返します

  • apache_request_headers
  • getallheaders

$_SERVER変数が空です

助けてくれてありがとう

4

1 に答える 1

2
public function onArticlePageDataBefore( &$article, &$fields ) {
    global $wgRequest;
    if ( $wgRequest->getHeader( 'My-Cool-Header' ) == 42 {
            PROFIT!
    }
    return true;
}
于 2013-03-04T21:32:11.150 に答える