手册:WikiPage.php
Appearance
Outdated translations are marked like this.
| MediaWiki文件: WikiPage.php | |
|---|---|
| 位置: | includes/page/ (1.46及以后为includes/Page/) |
| 源代码: | master • 1.45.1 • 1.44.3 • 1.43.6 |
| 类: | MediaWiki\Page\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– 只显示给$wgUserRevisionRecord::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
pagetable- getQueryInfo() – return the tables, fields, and join conditions to be selected to create a new page object.
- getTouched() – get the
page_touchedfield - getLinksTimestamp() – get
page_links_updatedfield - getLatest() – get
page_latestfield - 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_redirectfield 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() – insert a new null/dummy 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 methods
- 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().
有关方法的完整列表,请参阅[[[wmdoc:mediawiki-core/master/php/classWikiPage.html]] 此处(MediaWiki开发文档)]。