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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
<?php
use MediaWiki\Debug\DeprecationHelper;
#[\AllowDynamicProperties]
class TestDeprecatedClass {
use DeprecationHelper;
/** @var int */
protected $protectedDeprecated = 1;
/** @var int */
protected $protectedNonDeprecated = 1;
/** @var int */
private $privateDeprecated = 1;
/** @var int */
private $privateNonDeprecated = 1;
/** @var int */
private $fallbackDeprecated = 1;
/** @var string */
private $foo = 'FOO';
public function __construct() {
$this->deprecatePublicProperty( 'protectedDeprecated', '1.23' );
$this->deprecatePublicProperty( 'privateDeprecated', '1.24' );
$this->deprecatePublicPropertyFallback( 'fallbackDeprecated', '1.25',
function () {
return $this->fallbackDeprecated;
},
function ( $value ) {
$this->fallbackDeprecated = $value;
}
);
$this->deprecatePublicPropertyFallback( 'fallbackDeprecatedMethodName', '1.26',
'getFoo',
'setFoo'
);
$this->deprecatePublicPropertyFallback( 'fallbackGetterOnly', '1.25',
static function () {
return 1;
}
);
}
public function setThings( $prod, $prond, $prid, $prind ) {
$this->protectedDeprecated = $prod;
$this->protectedNonDeprecated = $prond;
$this->privateDeprecated = $prid;
$this->privateNonDeprecated = $prind;
}
public function getThings() {
return [
'prod' => $this->protectedDeprecated,
'prond' => $this->protectedNonDeprecated,
'prid' => $this->privateDeprecated,
'prind' => $this->privateNonDeprecated,
];
}
public function getFoo() {
return $this->foo;
}
public function setFoo( $foo ) {
$this->foo = $foo;
}
}
|