Manual:WikiPage.php
Appearance
MediaWiki file: WikiPage.php | |
---|---|
Location: | includes/page/ |
Source code: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Classes: | WikiPage • Page |
The WikiPage
class represents a MediaWiki page and its history.
It encapsulates access to page information stored in the database, and allows access to properties such as page text (in Wikitext format), flags, etc.
In theory, WikiPage is supposed to be the model object for pages, while the Article class handles the business and presentation functions.
Accessing a WikiPage object
[edit]- If you have an Article object, you can get a WikiPage object using
Article::getPage()
. - To request the WikiPage object from the current context, use
RequestContext::getWikiPage()
.
Creating a new WikiPage object
[edit]Use a WikiPageFactory to create new WikiPage objects.
Public methods
[edit]getContent( $audience )
: Get the content of the latest revision, where $audience is one of:RevisionRecord::FOR_PUBLIC
- to be displayed to all usersRevisionRecord::FOR_THIS_USER
- to be displayed to$wgUser
RevisionRecord::RAW
- get the text regardless of permissions
- If the ContentHandler supports it, you can do something like the following to get the text of the latest revision in the main slot:
$text = $wikiPage->getContent( RevisionRecord::RAW )->getText();
- 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
[edit]- getId() - get the page ID
- getTitle() - Get the Title object of the 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
[edit]- 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() - insert 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
[edit]- onArticleCreate(), onArticleDelete() and onArticleEdit()
Deprecated methods
[edit]- 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().
See https://doc.wikimedia.org/mediawiki-core/master/php/classWikiPage.html for a complete list of methods.