1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
<?php
interface Differ {
function diff( $a, $b );
}
class TableDiffer implements Differ {
public function diff( $a, $b ) {
return '<table>'
. wikidiff2_do_diff( $a, $b, 2 )
. '</table>';
}
}
class InlineDiffer implements Differ {
public function diff( $a, $b ) {
return wikidiff2_inline_diff( $a, $b, 2 );
}
}
class InlineJSONDiffer implements Differ {
public function diff( $a, $b ) {
return wikidiff2_inline_json_diff( $a, $b, 2 );
}
}
class AllDiffer implements Differ {
private $table, $inline;
public function __construct() {
$this->table = new TableDiffer;
$this->inline = new InlineDiffer;
$this->inlineJSON = new InlineJSONDiffer;
}
public function diff( $a, $b ) {
return $this->table->diff( $a, $b )
. $this->inline->diff( $a, $b )
. $this->inlineJSON->diff( $a, $b);
}
}
|