手册:WikiPage.php
Outdated translations are marked like this.
MediaWiki文件: WikiPage.php | |
---|---|
位置: | includes/page/ |
源代码: | master • 1.42.3 • 1.41.4 • 1.39.10 |
类: | WikiPage • Page |
WikiPage
类表示MediaWiki页面及其历史。
它封装了对存储在数据库中的页面信息的访问,并允许访问诸如页面文本(Wikitext格式)、标志等属性。
理论上,Wikipage应该是页面的模型对象,而Article 类则处理业务和表示功能。
Accessing a WikiPage object
- 如果你有一个文章对象,你可以使用
Article::getPage()
获得一个Wikipage对象。 - To request the WikiPage object from the current context, use
RequestContext::getWikiPage()
.
创建新Wikipage对象
Use a WikiPageFactory to create new WikiPage objects.
可用方法
getContent( $audience )
: 获取最新版本的内容,其中$audience是以下之一:RevisionRecord::FOR_PUBLIC
- 向所有用户显示RevisionRecord::FOR_THIS_USER
- 只显示给$wgUser
RevisionRecord::RAW
- 获取文本,而不考虑权限
- 要获取最新版本的文本,请使用:
$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
- getId() - get the page ID
- getTitle() - 或该文章的标题对象。
- 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().
有关方法的完整列表,请参阅此处(MediaWiki开发文档)。