Есть ли способ отметить магическое свойство как устаревшее? Рассмотрим следующий, упрощенный код:
/**
* Example class
*
* @property string $foo A foo variable.
*/
class Example {
/**
* Magic getter
*/
public function __get($var) {
if('foo' === $var) {
// do & return something
}
}
}
Теперь, как указать другим разработчикам, что они больше не должны использовать Example::$foo
? Единственное работающее решение, которое приходит мне на ум:
/**
* Example class
*/
class Example {
/**
* A foo variable.
*
* @var string
* @deprecated
*/
public $foo;
/**
* Magic getter
*/
public function __get($var) {
if('foo' === $var) {
// do & return something
}
}
}
Но это и ломает мой код (getter не называется), и не чувствует себя очень элегантно.