MediaWiki
master
OutputTransformPipeline.php
Go to the documentation of this file.
1
<?php
2
3
namespace
MediaWiki\OutputTransform
;
4
5
use
MediaWiki\Parser\ParserOutput
;
6
use
ParserOptions
;
7
11
class
OutputTransformPipeline
{
12
14
private
array $stages = [];
15
16
public
function
addStage
(
OutputTransformStage
$stage ):
OutputTransformPipeline
{
17
$this->stages[] = $stage;
18
return
$this;
19
}
20
61
public
function
run
(
ParserOutput
$in, ?
ParserOptions
$popts, array $options ):
ParserOutput
{
62
if
( $options[
'suppressClone'
] ?? false ) {
63
// T353257: This should be a clone, but we've need to suppress it
64
// for some legacy codepaths.
65
$out = $in;
66
}
else
{
67
$out = clone $in;
68
}
69
foreach
( $this->stages as $stage ) {
70
if
( $stage->shouldRun( $out, $popts, $options ) ) {
71
// Some stages may (for now) modify $options. See OutputTransformStage documentation for more info.
72
$out = $stage->transform( $out, $popts, $options );
73
}
74
}
75
return
$out;
76
}
77
}
if
if(!defined('MW_SETUP_CALLBACK'))
Definition
WebStart.php:81
MediaWiki\OutputTransform\OutputTransformPipeline
Definition
OutputTransformPipeline.php:11
MediaWiki\OutputTransform\OutputTransformPipeline\addStage
addStage(OutputTransformStage $stage)
Definition
OutputTransformPipeline.php:16
MediaWiki\OutputTransform\OutputTransformPipeline\run
run(ParserOutput $in, ?ParserOptions $popts, array $options)
Runs the pipeline on the ParserOutput, yielding a transformed ParserOutput.
Definition
OutputTransformPipeline.php:61
MediaWiki\Parser\ParserOutput
ParserOutput is a rendering of a Content object or a message.
Definition
ParserOutput.php:95
ParserOptions
Set options of the Parser.
Definition
ParserOptions.php:52
MediaWiki\OutputTransform\OutputTransformStage
Classes implementing the OutputTransformStage aim at being added to a pipeline of transformations tha...
Definition
OutputTransformStage.php:14
MediaWiki\OutputTransform
Definition
ContentDOMTransformStage.php:3
includes
OutputTransform
OutputTransformPipeline.php
Generated on Thu May 2 2024 22:24:11 for MediaWiki by
1.10.0