MediaWiki
REL1_35
SlotDiffRenderer.php
Go to the documentation of this file.
1
<?php
23
use Wikimedia\Assert\Assert;
24
40
abstract
class
SlotDiffRenderer
{
41
50
abstract
public
function
getDiff
(
Content
$oldContent =
null
,
Content
$newContent =
null
);
51
57
public
function
addModules
(
OutputPage
$output ) {
58
}
59
65
public
function
getExtraCacheKeys
() {
66
return
[];
67
}
68
78
protected
function
normalizeContents
(
79
Content
&$oldContent =
null
,
Content
&$newContent =
null
, $allowedClasses =
null
80
) {
81
if
( !$oldContent && !$newContent ) {
82
throw
new
InvalidArgumentException(
'$oldContent and $newContent cannot both be null'
);
83
}
84
85
if
( $allowedClasses ) {
86
if
( is_array( $allowedClasses ) ) {
87
$allowedClasses = implode(
'|'
, $allowedClasses );
88
}
89
Assert::parameterType( $allowedClasses .
'|null'
, $oldContent,
'$oldContent'
);
90
Assert::parameterType( $allowedClasses .
'|null'
, $newContent,
'$newContent'
);
91
}
92
93
if
( !$oldContent ) {
94
$oldContent = $newContent->getContentHandler()->makeEmptyContent();
95
} elseif ( !$newContent ) {
96
$newContent = $oldContent->getContentHandler()->makeEmptyContent();
97
}
98
}
99
100
}
OutputPage
This is one of the Core classes and should be read at least once by any new developers.
Definition
OutputPage.php:47
SlotDiffRenderer
Renders a diff for a single slot (that is, a diff between two content objects).
Definition
SlotDiffRenderer.php:40
SlotDiffRenderer\addModules
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
Definition
SlotDiffRenderer.php:57
SlotDiffRenderer\getExtraCacheKeys
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
Definition
SlotDiffRenderer.php:65
SlotDiffRenderer\getDiff
getDiff(Content $oldContent=null, Content $newContent=null)
Get a diff between two content objects.
SlotDiffRenderer\normalizeContents
normalizeContents(Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null)
Helper method to normalize the input of getDiff().
Definition
SlotDiffRenderer.php:78
Content
Base interface for content objects.
Definition
Content.php:35
includes
diff
SlotDiffRenderer.php
Generated on Sat Apr 6 2024 00:07:06 for MediaWiki by
1.9.8