Manuel:WikiPage.php

From mediawiki.org
This page is a translated version of the page Manual:WikiPage.php and the translation is 65% complete.
Outdated translations are marked like this.

La classe WikiPage représente une page MediaWiki avec son historique. Elle encapsule l'accès aux informations de la page enregistrées dans la base de données at autorise l'accès aux propriétés telles que le texte de la page (au format wikicode), aux marques, etc.

En théorie, WikiPage est supposé être le modèle objet pour les pages, alors que la classe Article gère les fonctions concernant les affaires et la présentation.

Accessing a WikiPage object

  • Si vous avez un objet Article, vous pouvez obtenir un objet WikiPage en utilisant Article::getPage().
  • To request the WikiPage object from the current context, use RequestContext::getWikiPage().

Créer un nouvel objet WikiPage

Use a WikiPageFactory to create new WikiPage objects.

Méthodes

  • getContent( $audience ): fournit le texte de la dernière révision, où $audience est une valeur parmi :
    1. RevisionRecord::FOR_PUBLIC - à afficher à tous les utilisateurs
    2. RevisionRecord::FOR_THIS_USER - à afficher sur $wgUser
    3. RevisionRecord::RAW - fournit le texte quelque soit les droits d'accès
  • Pour obtenir le texte de la dernière révision, utilisez :
$content = $wikiPage->getContent( RevisionRecord::RAW );
$text = ContentHandler::getContentText( $content );
  • convertSelectType() - convert 'fromdb', 'fromdbmaster' and 'forupdate' to READ_* constants.
  • getActionOverrides() - compare: ContentHandler::getActionOverrides()
  • clear() - clear object.
  • clearPreparedEdit()
  • pageDataFromTitle() - fetch a page record matching the Title object's namespace and title using a sanitized title string
  • pageDataFromId()
  • loadPageData() - load from a given source by title
  • wasLoadedFrom() - check if page data was loaded
  • loadFromRow() - load object from database row
  • exists() - check if given page exists
  • canExist()
  • hasViewableContent()
  • isNew() - check if the page has only one revision
  • checkTouched() - check if page exists and is not a redirect. Loads page_touched
  • isSamePageAs()

Accessors and checks

  • getId() - get the page ID
  • getTitle() - fournit l'objet titre de l'article.
  • get data from the Title object:
    • getNamespace() - returns an integer
    • getDBkey()
    • getWikiId()
  • getLanguage() - get language code for the page
  • getContentHandler() - return ContentHandler instance to be used to deal with the content of this WikiPage.
  • getContentModel() - return the page's content model id (see the CONTENT_MODEL_XXX constants).
  • getRevisionRecord() - get latest RevisionRecord
  • getContent() - get the content of the current revision.
  • Get data from the page table
    • getQueryInfo() - return the tables, fields, and join conditions to be selected to create a new page object.
    • getTouched() - get the page_touched field
    • getLinksTimestamp() - get page_links_updated field
    • getLatest() - get page_latest field
    • getPageIsRedirectField() - see below
  • getTimestamp() - get timestamp of latest revision. See also setTimestamp().
  • Relating to contributing users:
    • getContributors() - get a list of users who have edited this article, excluding the user who made the last article revision
    • getUser() - get User ID of the user who made the last article revision.
    • getCreator() - get User ID of the user who created the page
  • getUserText()
  • getComment()
  • getMinorEdit()
  • isCountable()
  • Relating to categories
    • getCategories() - get a list of categories this page is a member of.
    • getHiddenCategories()
  • Relating to redirects
    • isRedirect()
    • getPageIsRedirectField() - get the value of the page_is_redirect field in the database
    • followRedirect() - get the Title object or URL this page redirects to.
    • getRedirectURL()
  • Relating to parsing:
    • getParserOutput() - get a ParserOutput for the given ParserOptions and revision ID.
    • shouldCheckParserCache()
  • Relating to the possibility of non-local databases
    • isLocal() - check if content shown on this page comes from the local DB.
    • getWikiDisplayName()
    • getSourceURL()
  • getMutableCacheKeys()

Setters, page actions and checks

  • setTimestamp()
  • Relating to redirects:
    • insertRedirect()
    • insertRedirectEntry()
  • doViewUpdates()
  • doPurge() - run the actions of purging a page.
  • insertOn() - insert a new empty page record for this article. Must be followed up by creating a revision and running $this->updateRevisionOn().
  • updateRevisionOn() - update the page record to point to a newly saved revision.
  • Relating to page sections:
    • supportsSections()
    • replaceSectionAtRev()
  • newPageUpdater() - return PageUpdater for creating the page or creating new page revisions.
    • makeParserOptions() - get parser options suitable for rendering the primary article wikitext.
  • updateParserCache() - update the parser cache. Likely to become deprecated.
  • doSecondaryDataUpdates() - likely to become deprecated.
  • doUpdateRestrictions() - update the article's restriction field, and leave a log entry. This works for protection both existing and non-existing pages.
  • getCurrentUpdate() - get the state of an ongoing update, shortly before or just after it is saved to the database (since 1.38). Generally to be avoided.
  • Relating to page protection:
    • insertNullProtectionRevision() - imsert a new null revision for this page.
    • protectDescription() - build the description to serve as comment for the edit.
    • protectDescriptionLog() - build the description to serve as comment for the log entry.
  • lockAndGetLatest() - Lock the page row for this title, namespace and id and return page_latest (or 0).
  • getAutoDeleteReason() - auto-generates a deletion reason
  • updateCategoryCounts() - should only be called from deferred updates or jobs to avoid contention.
  • toPageRecord() - get the page represented by this WikiPage as a PageStoreRecord.
  • magic methods: __clone(), __wakeup(), __toString()

Hook-like methods

  • onArticleCreate(), onArticleDelete() and onArticleEdit()

Deprecated

  • factory(), newFromID() and newFromRow() - methods for creating a WikiPage object - have been deprecated in favour of methods provided by WikiPageFactory.
  • getRedirectTarget()
  • replaceSectionContent()
  • checkFlags()
  • doUserEditContent()
  • doEditUpdates()
  • doDeleteArticleReal()
  • doDeleteArticleBatched()
  • doDeleteUpdates()
  • getDeletionUpdates()
  • hasDifferencesOutsideMainSlot()
  • prepareContentForEdit() - prepare the content which is about to be saved.
  • isBatchedDelete() - checks if deletion of this page would be batched. See now DeletePage::isBatchedDelete().

Voir https://doc.wikimedia.org/mediawiki-core/master/php/classWikiPage.html pour la liste complète des méthodes.

Voir aussi