wiki.techinc.nl/tests/phpunit/includes/debug/TestDeprecatedClass.php
Peter Ovchyn d8f54cae8b Language: Turn public properties into Getters in LanguageConverter based hierarchy
The main goal is to simplify the construction of the LanguageConverter and
avoid using constructors for derived classes.

In order to hard-deprecate removed property, DeprecationHelper::deprecatePublicPropertyFallback
was introduced.

Bug: T253834
Change-Id: Ib167982e4e872cfdf0fbcb78b7ca597f5ac8d60a
2021-02-03 15:17:42 +02:00

48 lines
1.1 KiB
PHP

<?php
class TestDeprecatedClass {
use DeprecationHelper;
protected $protectedDeprecated = 1;
protected $protectedNonDeprecated = 1;
private $privateDeprecated = 1;
private $privateNonDeprecated = 1;
private $fallbackDeprecated = 1;
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( 'fallbackGetterOnly', '1.25',
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,
];
}
}