Manual:$wgTitle/pt-br
Deprecated: Este recurso obsoleto não deve mais ser usado, mas ainda está disponível por razões de compatibilidade com versões anteriores. |
Objeto global: $wgTitle | |
---|---|
O objeto Title criado a partir da URL do pedido. | |
Depreciado na versão: | 1.19.0 |
Classe: | Title |
Localizado em: | Title.php |
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.