Manual:Title.php/pt-br

A classe  representa títulos de artigos, que são utilizados para diversos fins, incluindo:
 * como o título do texto legível do artigo
 * na URL usada para acessar o artigo
 * o link wikitexto para o artigo
 * a chave na base de dados do artigo

A classe é instanciada com um desses formatos. Uma vez instanciado, o título pode ser recuperado em outros formatos ou consultado por seus atributos. é pretendido que seja uma classe imutável "value", para que não haja funções modificadoras.

Para instanciar, chame um dos métodos estáticos de fatoração:
 * ("Esta não é a função desejada! Use Title::newFromText.")
 * (returns an array of Titles)
 * ("Esta não é a função desejada! Use Title::newFromText.")
 * (returns an array of Titles)
 * (returns an array of Titles)

Uma vez instanciado, os outros métodos de acesso não-estáticos podem ser utilizados, tais como,  ,  , etc.

Se você tem um objeto Title, você pode obter:
 * um objeto Article, usando
 * um objeto WikiPage, usando

Estrutura de título
Um título é composto por um prefixo interwiki opcional (como "m:" para páginas do Meta ou ":pt:" para artigos da Wikipédia), seguido por um namespace opcional (como "Manual:"), finalmente seguido pelo nome do atrigo.

Prefixos interwiki e namespaces
Prefixos interwiki e namespaces seguem as mesmas regras de conteúdo:
 * eles devem começar com uma letra
 * eles devem terminar com dois pontos
 * eles só podem conter dígitos, letras, o caractere de espaço e o caractere sublinhado
 * espaços e sublinhados podem ser usados ​​indistintamente
 * eles não são case-sensitive

Prefixos interwiki e namespaces são reconhecidos somente se eles forem conhecidos por uma determinada instalação do MediaWiki, por padrão ou através de configuração.

Por exemplo: Neste wiki, ":pt:Name" é um link para o artigo "Name" na Wikipédia, pois "pt" é reconhecido como um dos prefixos interwiki permitidos. O título "talk:Name" é um link para o artigo "name" no namespace "talk" do wiki atual, pois "talk</tt>" é um namespace reconhecido. Ambos podem estar presentes, e em caso afirmativo, o interwiki deve vir em primeiro lugar, por exemplo, ":pt:talk:name</tt>".

Se um título começa com dois pontos, como seu primeiro caractere, nenhum prefixo é verificado, e os dois pontos são removidos antes do título ser processado. Devido a essa regra, é possível ter artigos com dois pontos em seus nomes. "E. Coli 0157:H7</tt>" é um título válido, assim como é "Commandos: Behind Enemy Lines", pois "E. Coli 0157</tt>" e "Commandos</tt>" não são interwikis ou namespaces válidos.

Nome do artigo
No nome do artigo, os espaços e sublinhados são considerados equivalentes e cada um é convertido para o outro no contexto apropriado (sublinhado em URL e chaves de banco de dados, espaços em texto simples). Caracteres "estendidos" no intervalo 0x80..0xFF são permitidos em todos os lugares, e são caracteres válidos. Eles são codificados em URLs. Caracteres estendidos não são um código URL, quando utilizados como texto ou chaves de banco de dados. Outros caracteres podem ser letras ASCII, dígitos, hífen, vírgula, ponto, apóstrofo, parênteses e dois pontos. Nenhum outro caractere ASCII é permitido, e será eliminado se for encontrado (que provavelmente fará com que um navegador interprete erroneamente o URL).

Formas canônicas
A forma canônica de um título sempre será retornada pelo objeto. Nesta forma, o primeiro (e apenas o primeiro) caractere do namespace e título será letras maiúsculas; o resto do namespace será letras minúsculas, enquanto o resto do título vai ficar como está.

O formato de texto utilizará espaços, os formatos de URL e DBKey usarão sublinhados. Prefixos interwiki são todos em minúsculas. O namespace usará sublinhados quando retornado sozinho; ele utilizará espaços somente quando conectado ao título do texto.

precisa de alguma explicação: para artigos "internos", ele deve retornar o campo "page_id" se o artigo existir, senão ele retorna 0. Para todos os artigos externos ele retorna 0. Todos os IDs para todas as instâncias de Title criadas durante um pedido são armazenados em cache, para que possam ser consultados rapidamente durante a renderização do wikitexto com muitos links internos.

Exemplo
Para verificar se uma determinada página já existe: Crie um novo Title a partir do texto, como o que se poderia encontrar em um link. Decodifica quaisquer entidades HTML no texto. Espaços, prefixos e dois pontos iniciais ':' indicando o namespace principal são aceitos. Note que se a página não existe, ela não será criada. Para isso, consulte Manual:Article.php.

Funções
Muitas destas funções são utilizadas pelo arquivo CoreParserFunctions.php para gerar palavras mágicas.

getBaseText
Obtém o nome da página base, ou seja, a parte mais à esquerda excluindo namespace e antes de quaisquer cortes, sem converter espaços para sublinhados. Veja as palavras mágicas e.

getText
Obtém o formato de texto (espaços não sublinhados) da parte principal, ou seja, excluindo o título namespace, mas incluindo barras e tudo que vem depois. Veja a palavra mágica.

getDBKey
Obtém a parte principal (ou seja, excluindo o título namespace) com sublinhados.

getPrefixedDBKey
Obtém a forma prefixada da chave de banco de dados com sublinhados.

getFragment
Obtém o fragmento Title (ou seja, o bit após a #) na forma de texto.

getFullText
Obtém o título prefixado com espaços, além de qualquer fragmento (parte que começa com '#').

getPartialURL
Obtém a forma de código URL da parte principal. Veja a palavra mágica.

getFullURL
Obtém uma URL real, referindo-se a este título, com link interwiki e fragmento.

getLocalURL
Obtém uma URL com nenhum nome de servidor ou fragmento.

getPrefixedText
Obtém o título prefixado com espaços. Esta é a forma geralmente usada para exibição. Veja a palavra mágica.

getPrefixedUrl
Obtém um título de código URL (não é uma URL real), incluindo interwiki. Veja a palavra mágica.

getSubjectNsText
Obtém o texto de namespace da página do assunto (ao invés da página de discussão). Veja as palavras mágicas e.

getSubjectPage
Obtém um objeto Title associado à página do assunto desta página de discussão. Veja a palavra mágica.

getSubpageText
Obtém o nome da sub-página de nível mais baixo, ou seja, a parte mais à direita após quaisquer barras. Veja a palavra mágica.

getSubpageUrlForm
Obtém uma forma de código URL do texto da subpágina. Veja a palavra mágica.

getTalkNsText
Obtém o texto de namespace da página de discussão. Veja as palavras mágicas e.

getTalkPage
Obtém um objeto Title associado com a página de discussão deste artigo. Veja as palavras mágicas e.

Veja também

 * Manual:$wgLegalTitleChars
 * Help:Bad title
 * Category:MediaWiki hooks included in Title.php