Manual:Title.php/fr

La classe  du logiciel MediaWiki implemente les interfaces  et IDBAccessObject. Elle représente les titres des articles, utilisés à différentes fins, y compris :


 * comme texte du titre de l'article lisible par un humain
 * dans l'URL utilisée pour accéder à l'article
 * le lien en wikicode vers l'article
 * la clé de l'article dans la base de données

La classe est instanciée avec l'un de ces formats. Une fois instancié, le titre peut être récupéré dans d'autres formats ou interrogé pour avoir ses attributs. est prévu pour être une classe de valeur non mutable, il n'y a donc pas de fonction mutateur.

Pour instancier, appelez l'une des méthodes statiques de la fabrique :
 * - Ce n'est pas la fonction que vous désirez. Utilisez Title::newFromText.
 * - retourne un tableau d'objets Title
 * - Crée un nouvel objet Title à partir d'un index d'espace de noms et d'une clé de base de données. Retourne null en cas d'erreur.
 * - Ce n'est pas la fonction que vous désirez. Utilisez Title::newFromText.
 * - retourne un tableau d'objets Title
 * - Crée un nouvel objet Title à partir d'un index d'espace de noms et d'une clé de base de données. Retourne null en cas d'erreur.
 * - Crée un nouvel objet Title à partir d'un index d'espace de noms et d'une clé de base de données. Retourne null en cas d'erreur.

Une fois instancié, les autres méthodes non statiques des assesseurs peuvent être utilisées telles que,  ,  , etc.

Si vous avez un objet Title, vous pouvez obtenir un :


 * objet, utilisant
 * objet, utilisant

Cette classe peut récupérer différents types de données de la base de données; néanmoins, elle le fait de manière pas trop efficace. A la place, prenez plutôt un objet. TitleValue est plus léger et ne dépend pas de l'état global de la base de données.

Structure de Title
Un titre est constitué d'un préfixe Interwiki optionnel (tel que «  » pour les pages de mediawiki.org ou «   » pour les articles Wikipedia), suivi d'un espace de nom optionnel (tel que «   »), suivi du nom de la page.

Prefixes et espaces de noms Interwiki
Les prefixes Interwiki et les espaces de noms suivent les mêmes règles de contenu :


 * ils doivent commencer par une lettre
 * ils doivent se terminer par un caractère deux points ':'
 * ils ne peuvent contenir que des chiffres, des lettres, des caractères espace et des soulignés '_'
 * les espaces et les caractères souligné '_' peuvent être utilisés invariablement
 * ils ne sont pas sensibles à la casse

Les préfixes et les espaces de noms Interwiki ne sont reconnus que s'ils sont connus d'une installation de MediaWiki, soit par défaut, soit par la configuration.

Par exemple sur ce wiki, «  » est un lien vers l'article «   » de Wikipedia, parce que «   » est reconnu comme l'un des préfixes interwiki autorisés. Le titre «  » est un lien vers l'article « name » dans l'espace de noms «   » du wiki actuel, parce que «   » est un espace de noms reconnu. Les deux peuvent être présents, et si c'est le cas, l'interwiki doit se trouver en premier, par exemple, «  ».

Si un titre commence par le caractère deux points ':', les préfixes ne sont pas scannés, et ce caractère est supprimé avant que le titre ne soit traité. Grâce à cela, il est possible d'avoir des articles avec le caractère deux points ':' dans le nom. " " est un titre valide, comme l'est "Commandos: Behind Enemy Lines", parce que " " et " " ne sont pas des liens interwikis ni des espaces de noms valides.

Nom d'article
Dans le nom d'article, les espaces et les soulignés '_' sont traités de la même manière et chacun est converti en l'autre en fonction du contexte (le souligné est utilisé dans les URL et les clés de la base de données, les espaces sont utilisés dans le texte brut). Les caractères « étendus » (extended) appartiennent à l'intervalle 0x80..0xFF. Ils sont autorisés partout et sont des caractères valides. Ils sont encodés dans les URLs. Les caractères étendus (encodés URL) ne sont pas encodés lorsqu'ils sont utilisés pour le texte ou pour les clés de la base de données. Les autres caractères peuvent être des lettres ASCII, des chiffres, un trait d'union, une virgule, un point, une apostrophe, des parenthèses et des deux points. Aucun autre caractère ASCII n'est autorisé, et sera supprimé s'il est trouvé (cela entraînera probablement une mauvaise interprétation de l'URL par le navigateur).

Formes canoniques
La forme canonique d'un titre sera toujours rendue par l'objet. La canonisation implique ce qui suit :


 * Certains caractères directionnels Unicode (marque de gauche à droite, etc.) sont supprimés, car ils résultent généralement d'un copier-coller erroné.
 * À partir de  tout est supprimé, car cela est utilisé pour les liens de section.
 * Sequences of underscores and/or certain whitespace characters are collapsed into a single underscore (for the URL and DBkey forms) or a single space (for the text form). At the beginning or end of the title (or namespace or interwiki prefix), these are stripped.
 * Recognized interwiki prefixes are canonicalized, meaning that they're put entirely in lowercase.
 * Recognized namespace-names are canonicalized, meaning that the first character is capitalized and subsequent characters are put in lowercase. (This is not done for interwiki-links, however.)
 * Depending on the wiki and the namespace, the first character of a title may be capitalized. (This is not done for interwiki-links, however.)
 * For links to user-pages of anonymous users, the IP address is canonicalized.
 * The canonicalization process also includes some validation logic to reject various kinds of invalid titles (such as ones that are too long, or that contain illegal characters).

MediaWikiTitleCodec Class Reference
&#x5B;code link&#x5D;

needs some explanation: for "internal" articles, it should return the "page_id" field if the article exists, else it returns 0. For all external articles it returns 0. All of the IDs for all instances of Title created during a request are cached, so they can be looked up quickly while rendering wikitext with lots of internal links.

Exemple
To check and see if a given page already exists: Create a new Title from text, such as what one would find in a link. Decodes any HTML entities in the text. Spaces, prefixes, and an initial ':' indicating the main namespace are accepted. Note that if the page does not exist, this will not create it. For that, see Manual:Article.php.

Functions
Many of these functions are used by Manual:CoreParserFunctions.php to generate magic words.

getArticleID
Get the article ID for this Title from the link cache, adding it if necessary

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.

getNamespace
Get the namespace index. See.