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
Get the base page name, i.e. the leftmost part excluding namespace and before any slashes, without converting spaces to underscores. See magic words and.

getText
Gets the text form (spaces not underscores) of the main part, i.e. the title excluding namespace, but including slashes and everything after. See magic word.

getDBKey
Get the main part (i.e. the title excluding namespace) with underscores.

getPrefixedDBKey
Get the prefixed database key form with underscores.

getFragment
Get the Title fragment (i.e. the bit after the #) in text form.

getFullText
Get the prefixed title with spaces, plus any fragment (part beginning with '#').

getPartialURL
Get the URL-encoded form of the main part. See magic word.

getFullURL
Get a real URL referring to this title, with interwiki link and fragment.

getLocalURL
Get a URL with no fragment or server name.

getPrefixedText
Get the prefixed title with spaces. This is the form usually used for display. See magic word.

getPrefixedUrl
Get a URL-encoded title (not an actual URL) including interwiki. See magic word.

getSubjectNsText
Get the namespace text of the subject (rather than talk) page. See magic words and.

getSubjectPage
Get a title object associated with the subject page of this talk page. See magic word.

getSubpageText
Get the lowest-level subpage name, i.e. the rightmost part after any slashes. See magic word.

getSubpageUrlForm
Get a URL-encoded form of the subpage text. See magic word.

getTalkNsText
Get the namespace text of the talk page. See magic word and.

getTalkPage
Get a Title object associated with the talk page of this article. See and.