Manuel:$wgArticle

From mediawiki.org
This page is a translated version of the page Manual:$wgArticle and the translation is 100% complete.

Détails

L'objet Article encapsule l'accès à la table "page" de la base de données. L'objet représente un article et maintient un état tel que du texte (au format Wikitext), des drapeaux, etc.

Les objets CategoryPage et ImagePage sont des objets enfants de l'objet Article et sont utilisés spécifiquement pour les pages Catégorie et les pages Image.

Remplacement

Utilisez l'objet Context pour obtenir ce dont vous avez besoin. Depuis la 1.19, les objets Context ont un getWikiPage() pour accéder à l'objet WikiPage correspondant. L'endroit où vous obtenez cet objet de contexte dépend de l'endroit où votre code s'exécute. De nombreuses classes majeures étendent ContextSource, ce qui signifie que vous pouvez simplement faire $someObject->getContext() pour obtenir le contexte et $someObject->getWikiPage() pour l'objet WikiPage. Au moment d'écrire ces lignes, cela inclut ApiBase, CategoryViewer, ChangesList, DerivativeContext, DifferenceEngine, HTMLForm, ImportReporter, IndexPager, OutputPage, RevisionListBase, Skin. Certaines autres classes supportent getContext() qui n'ont pas ContextSource comme classe parent, comme SpecialPage (donc if vous êtes en train d'écrire une SpecialPage, vous pouvez souvent faire $this->getContext() pour obtenir le contexte).

Si vous avez besoin d'utiliser une méthode qui est dans Article mais pas dans WikiPage, et d'avoir un objet contexte, par exemple $context, vous pouvez utiliser Article::newFromTitle( $context->getTitle(), $context );, s'il vous plaît notez aussi les choses suivantes:

  • L'identifiant de la révision affichée est accessible à travers OutputPage->getRevisionId() et Skin->getRevisionId() et le fait que ceci est la révision actuelle de la page est accessible par Skin->isRevisionCurrent() (au lieu de Article->isCurrent())
  • Le texte de la dernière révision de la page actuelle (pas forcément celui de la révision affichée) est accessible par WikiPage->getRawText(); selon ce pourquoi vous utilisez Article->getContent(), vous pourrez préférer ce texte-ci.

Exemple de code

Remplacer ceci par $article->getPage()->getContent()->getNativeData().

Références