Manual:$wgTitle/pt-br

This page is a translated version of the page Manual:$wgTitle and the translation is 91% complete.
Outdated translations are marked like this.

Detalhes

O objeto Title representa o título de um artigo, e faz todo o trabalho de tradução entre várias formas, como texto puro, URL, chave de banco de dados, etc. Por conveniência, e por razões históricas, também representa algumas características dos artigos que não envolvam seu texto, tais como direitos de acesso.

O objeto Title é inicializado pelo objeto do MediaWiki, $mediaWiki.

A maioria dos lugares no código do MediaWiki tem um título já na mão (ou um título sensato pode ser facilmente criado). Como regra, não use $wgTitle se não for absolutamente necessário. O problema com $wgTitle é que ele não é uma variável global estática como $wgRequest que sempre se refere ao mesmo objeto. Em vez disso, $wgTitle pode se referir a qualquer título em um determinado ponto, uma vez que você não pode prever o que uma extensão poderia fazer com ele. Um bom exemplo é em SpecialPages, onde você pode facilmente chamar o método getTitle(), que retorna uma versão localizada do título da página especial, em vez de esperar que $wgTitle se refira à página especial em questão. Em suma: não use-a. Nunca.

Substituição

Geralmente uma pessoa usaria um objeto Context (algo que implementa, ou subclasses de algo que implementa IContextSource) para obter um objeto Title.

Qual objeto de contexto está disponível varia, dependendo de onde o código está sendo executado:

  • Como exemplo, a classe Skin estende contextSource, por isso, se o seu código é um método de uma subclasse da classe Skin, você usaria $this->getTitle() dentro do seu método para obter o título atual.
  • Se você estiver em uma classe Skin, que estende a classe BaseTemplate.
  • Como outro exemplo, se você estiver escrevendo uma extensão de tag, o terceiro argumento para a sua função de retorno é o Analisador. Esta não é uma contextSource, mas possui um método getTitle(), portanto, a forma adequada de obter o título atual desta função é $parser->getTitle().

Sem substituição

Outras coisas que você pode pensar em fazer, mas devem ser evitadas:

  • Title::newFromText( $wgRequest->getVal( 'title' ) ) - É inteiramente possível que você esteja fazendo algo nesta solicitação relacionada a um título diferente do que realmente pediu (algo como JobQueue, etc). Provavelmente é melhor deixar de usar $wgTitle do que usa-lo.
  • RequestContext::getMain()->getTitle() - É essencialmente $wgTitle, apenas um pouco disfarçado, e tem as mesmas desvantagens. Se você está desesperado, você pode usa-lo, mas só o faça se você julgar absolutamente necessário.

Ver também