1

问题

我想从媒体 wiki 扩展中检查 http 标头。具体来说,如果其中一个标题存在,我将采取行动。

背景

我是 php 和 mediawiki 的新手。我正在研究我在 mediawiki 中的第二个扩展。如果特定的 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;
    }

软件栈

  • 媒体维基:1.20.2
  • PHP: 5.3.3 (apache2handler)
  • MySQL:5.1.61

到目前为止都试过了。

以下两个方法都返回一个空数组

  • apache_request_headers
  • 获取所有标题

$_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 回答