1<?php
2
3class TestDeprecatedClass {
4
5	use DeprecationHelper;
6
7	protected $protectedDeprecated = 1;
8	protected $protectedNonDeprecated = 1;
9	private $privateDeprecated = 1;
10	private $privateNonDeprecated = 1;
11	private $fallbackDeprecated = 1;
12
13	public function __construct() {
14		$this->deprecatePublicProperty( 'protectedDeprecated', '1.23' );
15		$this->deprecatePublicProperty( 'privateDeprecated', '1.24' );
16
17		$this->deprecatePublicPropertyFallback( 'fallbackDeprecated', '1.25',
18			function () {
19				return $this->fallbackDeprecated;
20			},
21			function ( $value ) {
22				$this->fallbackDeprecated = $value;
23			}
24		);
25		$this->deprecatePublicPropertyFallback( 'fallbackGetterOnly', '1.25',
26			static function () {
27				return 1;
28			}
29		);
30	}
31
32	public function setThings( $prod, $prond, $prid, $prind ) {
33		$this->protectedDeprecated = $prod;
34		$this->protectedNonDeprecated = $prond;
35		$this->privateDeprecated = $prid;
36		$this->privateNonDeprecated = $prind;
37	}
38
39	public function getThings() {
40		return [
41			'prod' => $this->protectedDeprecated,
42			'prond' => $this->protectedNonDeprecated,
43			'prid' => $this->privateDeprecated,
44			'prind' => $this->privateNonDeprecated,
45		];
46	}
47
48}
49