MediaWiki  1.32.0
Revision\RevisionRenderer Class Reference

The RevisionRenderer service provides access to rendered output for revisions. More...

Collaboration diagram for Revision\RevisionRenderer:

Public Member Functions

 __construct (ILoadBalancer $loadBalancer, $wikiId=false)
 
 getRenderedRevision (RevisionRecord $rev, ParserOptions $options=null, User $forUser=null, array $hints=[])
 
 setLogger (LoggerInterface $saveParseLogger)
 

Private Member Functions

 combineSlotOutput (RenderedRevision $rrev, array $hints=[])
 This implements the layout for combining the output of multiple slots. More...
 
 getSpeculativeRevId ( $dbIndex)
 

Private Attributes

ILoadBalancer $loadBalancer
 
LoggerInterface $saveParseLogger
 
string bool $wikiId
 

Detailed Description

The RevisionRenderer service provides access to rendered output for revisions.

It does so be acting as a factory for RenderedRevision instances, which in turn provide lazy access to ParserOutput objects.

One key responsibility of RevisionRenderer is implementing the layout used to combine the output of multiple slots.

Since
1.32

Definition at line 45 of file RevisionRenderer.php.

Constructor & Destructor Documentation

◆ __construct()

Revision\RevisionRenderer::__construct ( ILoadBalancer  $loadBalancer,
  $wikiId = false 
)
Parameters
ILoadBalancer$loadBalancer
bool | string$wikiId

Definition at line 60 of file RevisionRenderer.php.

References Revision\RevisionRenderer\$loadBalancer, and Revision\RevisionRenderer\$wikiId.

Member Function Documentation

◆ combineSlotOutput()

Revision\RevisionRenderer::combineSlotOutput ( RenderedRevision  $rrev,
array  $hints = [] 
)
private

This implements the layout for combining the output of multiple slots.

Todo:
Use placement hints from SlotRoleHandlers instead of hard-coding the layout.
Parameters
RenderedRevision$rrev
array$hintssee RenderedRevision::getRevisionParserOutput()
Returns
ParserOutput

Definition at line 167 of file RevisionRenderer.php.

References $html, $options, $out, as, Html\element(), Revision\RenderedRevision\getOptions(), Revision\RenderedRevision\getRevision(), Revision\RenderedRevision\getSlotParserOutput(), Revision\SlotRecord\MAIN, and Html\rawElement().

Referenced by Revision\RevisionRenderer\getRenderedRevision().

◆ getRenderedRevision()

Revision\RevisionRenderer::getRenderedRevision ( RevisionRecord  $rev,
ParserOptions  $options = null,
User  $forUser = null,
array  $hints = [] 
)
Parameters
RevisionRecord$rev
ParserOptions | null$options
User | null$forUserUser for privileged access. Default is unprivileged (public) access, unless the 'audience' hint is set to something else RevisionRecord::RAW.
array$hintsHints given as an associative array. Known keys:
Returns
RenderedRevision|null The rendered revision, or null if the audience checks fails.

Definition at line 88 of file RevisionRenderer.php.

References $options, $rev, $title, Revision\RevisionRenderer\$wikiId, array(), Revision\RevisionRenderer\combineSlotOutput(), DB_MASTER, DB_REPLICA, Revision\RevisionRecord\DELETED_TEXT, Revision\RevisionRecord\FOR_PUBLIC, Revision\RevisionRecord\FOR_THIS_USER, Revision\RevisionRenderer\getSpeculativeRevId(), ParserOptions\newCanonical(), Title\newFromLinkTarget(), Revision\RenderedRevision\setSaveParseLogger(), and use.

◆ getSpeculativeRevId()

Revision\RevisionRenderer::getSpeculativeRevId (   $dbIndex)
private

Definition at line 139 of file RevisionRenderer.php.

References DB_REPLICA.

Referenced by Revision\RevisionRenderer\getRenderedRevision().

◆ setLogger()

Revision\RevisionRenderer::setLogger ( LoggerInterface  $saveParseLogger)
Parameters
LoggerInterface$saveParseLogger

Definition at line 70 of file RevisionRenderer.php.

References Revision\RevisionRenderer\$saveParseLogger.

Member Data Documentation

◆ $loadBalancer

ILoadBalancer Revision\RevisionRenderer::$loadBalancer
private

Definition at line 51 of file RevisionRenderer.php.

Referenced by Revision\RevisionRenderer\__construct().

◆ $saveParseLogger

LoggerInterface Revision\RevisionRenderer::$saveParseLogger
private

Definition at line 48 of file RevisionRenderer.php.

Referenced by Revision\RevisionRenderer\setLogger().

◆ $wikiId

string bool Revision\RevisionRenderer::$wikiId
private

The documentation for this class was generated from the following file: