Manuel:Title.php

This page is a translated version of the page Manual:Title.php and the translation is 100% complete.

Before 1.40:

La classe Title représente les titres des pages.

  • Title implémente les interfaces suivantes : LinkTarget , PageIdentity
  • La classe peut être instanciée avec l'une des méthodes de la fabrique décrites ci-dessous.
  • Une fois instancié, le titre peut être récupéré dans d'autres formats ou interrogé pour obtenir ses attributs. Différentes méthodes non statiques des assesseurs peuvent être utilisées pour cela telles que getText(), getDBKey(), getNamespace(), etc. Beaucoup de ces fonctions sont utilisées par Manuel:CoreParserFunctions.php pour générer les mots magiques.
  • $1 est prévu pour être une classe de valeur non mutable[1][2]

Récupération

Les méthodes d'accès à une instance de Title comprennent :

Méthodes publiques

Méthodes d'instantiation

Pour instancier Title, appelez l'une des méthodes statiques de la fabrique :

  • Title::newFromDBKey( $key )
  • Title::newFromID( ($id, $flags=0) ). Notez que la méthode alternative Title::newFromIDs( $ids ) est obsolète en faveur de l'utilisation d'un QueryBuilder PageStore .
  • Title::newFromText( $text, $defaultNamespace=NS_MAIN )
  • Title::newFromURL( $url ) - Ce n'est pas la fonction que vous désirez. Utilisez Title::newFromText().
  • Title::makeTitleSafe( $ns, $title, $fragment= '', $interwiki= '') - Crée un nouvel objet Title à partir de l'index d'un espace de noms et d'une clé de base de données. Retourne null en cas d'erreur.
  • Title::newFromRow( $row )
  • Title::newMainPage() - créer un nouveau Title pour la page d'accueil.

Exemple

Pour vérifier et voir qu'une page donnée existe déjà :

$titleObject = Title::newFromText( 'Talk:Your desired title here' );
if ( !$titleObject->exists() ) echo "There is no page with that name.";

Créer un nouvel objet Title à partir du texte, tel qu'on pourrait le trouver dans un lien. Décodez toutes les entités HTML du texte. Sont acceptés : les espaces, les préfixes et le ':' initial qui identifie l'espace de noms principal. Notez que si la page n'existe pas, ceci ne va pas la créer. Voir pour cela Manuel:Article.php .

Méthodes relatives au titre des pages

  • getDBKey() - Fournit la partie principale (c'est à dire le titre sans l'espace de noms) avec les caractères souligné '_'.
  • getText() - Fournit la forme textuelle (espaces et pas les soulignés '_') de la partie principale, c'est à dire le titre sans l'espace de noms, mais avec les slashes et ce qu'il y a après. Voir le mot magique {{PAGENAME }}.
  • Préfixé avec l'espace de noms et les préfixes interwiki le cas échéant :
    • getPrefixedDBkey() - Fournit la forme préfixée de la clé de la base de données avec les caractères soulignés '_'.
    • getPrefixedText() - Fournit le titre préfixé avec les espaces. Ceci est la forme généralement utilisée pour l'affichage. Voir le mot magique {{FULLPAGENAME }}.
      • __toString() - renvoie une représentation du titre actuel sous forme de chaîne de caractères.
    • getFullText() - Fournit le titre préfixé avec des espaces, avec tout fragment (partie commençant avec '#').
  • getRootText() - obtenir le texte du nom de la page racine sans l'espace de noms, c'est-à-dire la partie la plus à gauche avant la première barre oblique.
  • getRootTitle() - obtenir le titre du nom de la page racine, c'est-à-dire la partie la plus à gauche avant la première barre oblique.
  • getBaseText() - Fournit le nom de base de la page, c'est à dire la partie la plus à gauche, hors espace de noms, et jusqu'au premier slash (s'il y en a), sans convertir les espaces en soulignés '_' . Voir les mots magiques {{BASEPAGENAME }} et {{BASEPAGENAMEE }}.
  • getBaseTitle() - fournit le titre du nom de la page de base, c'est-à-dire la partie avant le nom de la sous-page.

Méthodes relatives au titre des pages présent dans l'URL

Titres encodés par des URLs, et non pas des URL réelles :

  • getPrefixedUrl() - fournit une forme encodée d'URL pour le titre incluant le préfixe interwiki. Voir le mot magique {{FULLPAGENAMEE }}.
  • getPartialURL() - Fournit la forme encodée d'URL pour la partie principale. Voir le mot magique {{PAGENAMEE }}.
  • getSubpageUrlForm() - Fournit une forme encodée d'URL pour le texte de la sous-page. Voir le mot magique {{SUBPAGENAMEE }}.

Méthodes relatives à l'URL des pages

  • getFullURL() - Fournit une URL réelle pointant vers ce titre , sous la forme d'un lien interwiki et d'un fragment.
  • getFullUrlForRedirect()
  • getLocalURL() - Fournit une URL sans fragment ni nom de serveur.
  • getLinkURL()
  • getInternalURL()
  • getCanonicalURL() - obtenir l'URL pour un lien canonique, à utiliser avec des sujets comme l'IRC ou les notifications par courriel. Utilise les accroches $wgCanonicalServer et GetCanonicalURL.
  • getEditURL() - fournit l'URL de modification (avec action=edit) pour ce Title

Méthodes de vérification du titre des pages

  • equals() - comparer en vérifiant si le préfixe de l'espace de noms, le texte du titre et le préfixe interwiki sont les mêmes.
  • isSameLinkAs() - similaire à equals(), mais compare en plus la partie du fragment. Voir aussi LinkTarget::isSameLinkAs() .

Méthodes relatives aux fragments du titre des pages

  • getFragment() - Fournit le fragment Title (c'est à dire la partie qui suit le '#') sous forme textuelle.
  • hasFragment()
  • getFragmentForURL()
  • setFragment()
  • createFragmentTarget() - crée un nouveau Title pour un fragment différent de la même page.

Méthodes relatives aux espaces de noms

  • getNamespace() - Fournit l'index de l'espace de noms. Voir {{NAMESPACENUMBER }}.
  • getNamespaceKey() - générer des chaînes utilisées pour les noms xml de id dans les balises monobook.
  • getNsText() - obtenir le texte de l'espace de noms de la page. Voir les mots magiques {{NAMESPACE }} et {{NAMESPACEE }}.

Pour les autres options, voir NamespaceInfo à la place.

Méthodes relatives aux pages de discussion

  • getTalkPageIfDefined() - Fournit un objet Title associé à la page de discussion de cet article si une telle page de discussion peut exister. Voir {{TALKPAGENAME }} et {{TALKPAGENAMEE }}. getTalkPage() est obsolète depuis la 1.34 (en faveur de getTalkPageIfDefined).
  • isTalkPage() - vérifier la page actuelle
  • getTalkNsText() - Fournit le texte de l'espace de noms de la page de discussion. Voir les mots magiques {{TALKSPACE }} et {{TALKSPACEE }}.
  • getSubjectNsText() - Fournit le texte de l'espace de noms de la page du sujet (plutôt que celui de la page de discussion). Voir les mots magiques {{SUBJECTSPACE }} et {{SUBJECTSPACEE }}.
  • getSubjectPage() - Fournit un objet Title associé à la page du sujet de cette page de discussion - est obsolète depuis la 1.34en faveur de NamespaceInfo::getSubjectPage . Voir aussi le mot magique {{SUBJECTPAGENAME }}.

Méthodes relatives aux catégories

  • getParentCategories() - obtenir les catégories auxquelles appartient le Title actuel.
  • getParentCategoryTree() - obtenir une arborescence des catégories du parent.
  • getCategorySortkey() - renvoie la clé de tri brute à utiliser pour les catégories, avec le préfixe spécifié. Ceci sera alimenté à Collation::getSortKey() pour obtenir une clé de tri binaire qui peut être utilisée pour le tri réel.
  • canUseNoindex() - indique si magic words __INDEX__ et __NOINDEX__ sont opérationnels pour cette page.

Méthodes relatives aux redirections

  • isRedirect() - tester si l'article est une page de redirection
  • getRedirectsHere() - obtenir toutes les redirections existantes vers la Title actuelle.
  • isValidRedirectTarget() - vérifier si le Title actuel est une cible de redirection valide.
  • isSingleRevRedirect() - verrouille la ligne de la page et vérifie si cette page est une redirection de révision unique.

Méthodes relatives aux sous-pages

  • getSubpage() - obtenir le titre d'une sous-page de la page actuelle.
  • getSubpageText() - Fournit le nom de la sous-page de plus bas niveau, c'est à dire la partie la plus à droite après le dernier slash. Voir le mot magique {{SUBPAGENAME }}.
  • hasSubpages() - vérifier si la page actuelle contient des sous-pages.
  • getSubpages() - obtenir toutes les sous-pages de cette page.
  • isSubpageOf() - vérifier si le titre actuel est une sous-page d'un autre titre.
  • Voir aussi : getSubpageUrlForm().

Méthodes relatives aux liens entrants et sortants

Traiter avec soin :

  • getLinksTo
  • getTemplateLinksTo()
  • getLinksFrom()
  • getTemplateLinksFrom()
  • getBrokenLinksFrom()

Méthodes relatives à la langue des pages

  • getPageLanguage() - obtenir la langue du contenu wikicode de la page. Par défaut il s'agit de la langue du contenu mais dans certains cas il peut être par exemple $wgLang (comme dans les pages spéciales qui sont dans la langue de l'utilisateur).
  • getPageViewLanguage() - obtenir la langue dans laquelle le contenu de cette page est écrit lorsque l'utilisateur l'affiche. Par défaut, il s'agit de la langue du contenu mais dans certains cas il peut être par exemple $wgLang (comme pour les pages spéciales qui sont dans la langue de l'utilisateur). obsolète en 1.42 en faveur de ParserOutput::getLanguage ; voir aussi OutputPage::getContLangForJS .

Méthodes relatives aux relectures de pages , etc.

  • exists() - vérifier que la page existe
  • isNewPage() - vérifier que la page actuelle est une nouvelle page.
  • purgeExpiredRestrictions()
  • estimateRevisionCount() - obtenir le nombre approximatif de révisions de la page actuelle.
  • getDeletedEditsCount - compter les révisions archivées.
  • hasDeletedEdits() - vérifier s'il existe une version de la page actuelle dans l'archive de suppression.
  • getEditNotices() - obtenir une liste de notes de modifications formatée pour cette page.

A propos de page_touched/timestamps  :

  • invalidateCache() - met à jour page_touched pour la page actuelle. Il est appelé de LinksUpdate.php .
  • touchLinks() - mettre à jour les horodatages de page_touched et envoyer des messages de purge CDN pour les pages liées à ce titre. Peut être envoyé dans la file d'attente des tâches en fonction du nombre de liens. Appelé d'ordinaire à la création et à la suppression.
  • getTouched() - obtenir le dernier horodatage visité

Méthodes relatives à la visibilité

  • isAlwaysKnown() - semi-obsolète pour un utilisation publique
  • isKnown() - vérifier si le Title actuel se réfère à une page qui peut (ou pourrait) être vue de manière significative ?
  • hasSourceText() - vérifier si la page courante contient du texte source.
  • getDefaultMessageText() - obtenir le contenu du message par défaut (brut) pour une page qui redéfinit une clé de message d'interface.

Méthodes pour lier le cache, les ID de pages, etc.

  • getArticleID() - Fournit l'ID de l'article pour ce Title à partir du cache du lien, en l'ajoutant si nécessaire. Pour les articles « internes » , revoie le champ page_id si l'article existe, sinon retourne 0. Retourne 0 pour tous les articles externes. Tous les IDs de toutes les instances de Title créées durant une requête sont mis en cache, afin d'être recherchés rapidement lors de la génération du wikicode ayant de multiples liens internes.
  • resetArticleID() - injecter un identifiant de page, réinitialiser les champs chargés à partir de la base de données et effacer le cache du lien pour le Title actuel.
  • clearCaches() - effacer le cache du lien ainsi que le cache de Title.
  • getLatestRevID() - obtenir le champ page_latest.
  • getLength() - obtenir la longueur de la page.
  • pageCond() - obtenir un tableau associatif pour sélectionner le titre actuel dans la table page .
  • getWikiId()
  • getId() - obtenir l'identifiant de la page.
  • toPageIdentity() - renvoyer la page représentée par le Title actuel en tant que ProperPageIdentity .
  • toPageRecord() - renvoyer la page représentée par le Title actuel en tant que ProperPageRecord .

Utiliser l'objet Title

Pour créer des objets ou accéder aux données, de nombreuses méthodes dans d'autres classes MediaWiki PHP dépendent de la disponibilité d'un objet Title.

Par exemple si vous avez un objet Title, vous pouvez obtenir un :

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 . TitleValue est plus léger et ne dépend pas de l'état global de la base de données.

Voir aussi

Références

  1. Mutable est un mot clé de la norme permettant de dire que même un objet const peut modifier cette variable. Un attribut mutable peut être private ou public. Il est toujours modifiable même lorsque l'objet est dans un contexte constant.
  2. Mutateur est le nom général d'une fonction membre qui permet de modifier une ou des variables privées de l'objet à partir de l'extérieur. Si vous la mettez private, ça ne sert à rien.